Swift Tips
3.27K subscribers
474 photos
17 videos
2 files
453 links
Ежедневные советы, подсказки, лайфхаки и статьи по iOS и Swift.

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
Swift на Android: создаём библиотеку

В Swift 6 появилась возможность работать с Android NDK. Это значит, что мы можем писать код на Swift`е и в последствии, с минимальной болью вызывать его из Android среды (Java, Kotlin) c помощью JNI*.

Java Native Interface (JNI) – это мост который позволяет нативному коду обращаться к Java Virtual Machine (JVM). Когда вы пишете Java код, то вы используете Android SDK. Но когда вы используете языки как Swift или C++, которые не компилируются в Java байткод, вам уже нужен Android NDK для коммуникации с Java через JNI.


Ловите подробную гайд-статью от @imike3049, как это всё можно завести.

Читать (Ru)
87👍3🔥3
Новые подходы в Swift для тестирования: разбор технологии Swift Testing

Статья с разбором нового фреймворка для юнит-тестирования от Apple, представленного на WWDC 24 – Swift Testing.

🟢Немного о Swift Testing
🟢Expectation
🟢withKnownIssue
🟢Кастомизация тестов
🟢Параметризованные тесты
🟢Возможности миграции с XCTest к Swift Testing

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥32
Миграция на SPM: что мы выиграли и что потеряли

Разработчик из Core-команды Туту рассказывает про опыт миграции с CocoaPods на SPM, проблемы с которыми можно столкнуться в процессе и на что стоит обратить внимание.

Читать (Ru)
4🔥84👍4
Как Swift Runtime влияет на производительность iOS-приложений

Большая статья, в которой рассказывается про механизмы приведения типов и создания generic-типов внутри Swift Runtime и разбирается метод swift_conformsToProtocolMaybeInstantiateSuperclasses, ĸоторый является узĸим местом в производительности приложения, ĸогда и почему он вызывается и ĸаĸие стратегии использовать для смягчения негативного воздействия.

Читать (Ru)
4👍4🔥3
Компьютерное зрение + ARKit = AR-навигация внутри зданий

Крутой материал – ребята из 2ГИС запилили реалтайм навигацию внутри зданий, с помощью AR через камеру.

В статье рассказывают, как подошли к задаче с точки зрения компьютерного зрения, какие грабли собрали, как ускоряли локализацию и как боролись с погрешностями ARKit.

Читать (Ru)
🔥6👍31
Xcode: ключевые инструменты для ручного тестирования мобильных приложений

Автор статьи делится опытом тестирования мобильных приложений в Xcode для обнаружения критических багов в iOS-приложениях на этапе разработки.

👉 Симулятор устройств и управление конфигурациями
👉 Работа с логами и анализ крашей
👉 Инспектирование верстки
👉 Мокирование сетевых запросов

P.S. Материал может быть полезным для QA

Читать (En)
👍5🔥43
Combine – швейцарский нож iOS-разработчика. Или нет?

Большая статья с обзором Combine: как устроен фреймворк, какие сущности лежат в основе и примеры использования.

Небольшая сводка: Combine – фреймворк для работы с асинхронными событиями в декларативном стиле. Он помогает разработчикам управлять потоками данных, избавляя от множества колбэков, ручного управления очередями и других сложностей, связанных с асинхронностью.


Читать (Ru)
👍8🔥42🕊2
This media is not supported in your browser
VIEW IN TELEGRAM
IntelligenceGlow – легковесная SwiftUI-библиотека, которая добавляет эффект светящейся обводки в стиле Apple Intelligence к любому элементу InsettableShape.

Библиотека на GitHub → IntelligenceGlow
6👍6🔥5
Thread-Safe Classes: GCD vs Actors

Небольшая статья про многопоточку, а именно про то, как организовать потокобезопасные операции чтения/записи разными способами, чтобы избежать распространённых проблем по типу race condition. А в конце статьи, сводная таблица с сравнением подходов.

Читать (En)
🔥5👍32
Навигация на SwiftUI: чего не хватает и как исправить

Разработчик из CleverPumpkin рассказывает с какими SwiftUI ограничениями столкнулись в части навигации на проекте, какие обходные решения применяли и разбирает в каких ситуациях какие инструменты использовать для контролируемой навигации.

Читать (Ru)
5🔥4👍1
Автоматизация ревью кода — не роскошь, а необходимость. Особенно в больших iOS-проектах, где человеческий фактор легко пропускает ошибки, а скорость релиза зависит от качества проверки.

На открытом уроке вы создадите полноценный плагин для Swift Package Manager: научитесь анализировать исходный код с помощью регулярных выражений, разберёте, как Xcode подсвечивает ошибки, и увидите, как плагин подключается к многомодульному проекту.

Это практический воркшоп для тех, кто хочет контролировать качество кода автоматически — iOS-разработчиков, релиз-инженеров и тимлидов. После урока вы поймёте, как написать собственный инструмент, который работает прямо внутри привычного пайплайна.

Встречаемся 11 декабря в 20:00 МСК в преддверие старта курса «iOS Developer. Professional».

Регистрация открыта:
https://otus.pw/nqx0/

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
👍3🔥2👏1