iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
12.4K subscribers
654 photos
64 videos
3.95K links
Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

Лучшее iOS сообщество в Телеге: @iosgt

Размещение рекламы: @tanyasanovna
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация паспорта в Airbnb

Инженеры из Airbnb пошагово рассказывают, как они сделали сложную анимацию открывающегося паспорта. А если вы хотите побольше узнать об их системе работы с анимациями в целом, почитайте одну из предыдущих статей.
Шаблоны новых айпадов уже в Sketch

После анонса новых айпадов (и скандала с рекламой, но о нем мы в канале говорить не будем), Apple добавили шаблоны с их рамками в официальную библиотеку в Sketch. Можете уже использовать для своих скриншотов!
WWDC Index

Новый коммьюнити-проект вокруг WWDC – список всех сессий и их описаний на одной странице. Cmd+F, пишете нужный вам кейворд, получаете список всех сессий!
Clock в Swift неэффективны

Автор статьи уткнулся в плохую производительность работы с ContinuousClock и SuspendingClock, побенчмаркал их работу, и оказалось, что они работают намного медленнее обычного Date. Вместо них он предлагает переходить на функцию mach_absolute_time.
Тренируем и запускаем ML модель на девайсе

Хороший туториал по тому, как с нуля обучить свою ML модель для того, чтобы предсказывать вероятность закрытия диалогового окна в зависимости от уровня заряда батареи.
SwiftSecurity – обертка над Keychain API

Подписчик канала поделился своей новой библиотекой SwiftSecurity. Вот основные фичи:

👉Поддерживает все сущности Keychain API.
👉Дает компайл-тайм проверки для kSetAttr.
👉Совместима со SwiftUI и CryptoKit.
Hello Developer: май 2024

Новый выпуск ежемесячной рассылки Apple для разработчиков.

👉Pathways – обучающие треки с подборкой статей, видео и документации по разным темам.
👉Интервью с победителями Swift Student Challenge.
👉Регистрация на онлайн встречи с App Review Team.
👉Обзор Apple Pencil Pro.
👉Q&A от команды SharePlay.
👉Новый фреймворк для конвертации документов в PDF.
Недостаток unidirectional архитектур

Основной недостаток однонаправленных архитектур, по мнению автора – размазывание бизнес-логики по разным местам в коде, из-за чего сложно получить цельную картинку происходящего. В статье он показывает, почему это кажется проблемой, на примере одного экрана.
Динамическая тень Apple Pencil Pro

Apple Pencil Pro отбрасывает различную тень на экран в зависимости от того, какой конкретно инструмент рисования сейчас выбран.
This media is not supported in your browser
VIEW IN TELEGRAM
Новые фичи accessibility

Как всегда перед WWDC Apple показывает новые фичи accessibility, которые релизнутся в следующем обновлении iOS.

👉Борьба с укачиванием при чтении в автомобиле
👉Управление iPad и iPhone движением глаз
👉Воспроизведение музыки через haptic вибрацию
Оптимизация перфоманса с помощью Accelerate фреймворка

Недавно я делился хорошей русскоязычной статьей с обзором фреймворка Accelerate. Держите пример того, как его использование помогло улучшить перфоманс конверсии видео и процессинга аудио на несколько порядков.
Инструмент для тестирования universal links

getuniversal.link – бесплатный сервис для тестирования того, насколько корректно Apple закешировали ваш AASA файл.

Детали – в блогпосте.
Опыт разработки на Swift под Playdate

Михаил Рубанов вдохновился недавно появившейся поддержкой Swift в консоли Playdate, и попробовал сделать для нее пет-проект. В видео он рассказывает про:

👉Доступный API
👉Особенности разработки без тестов, логгера и дебаггера
👉Работу с UnsafeMutablePointer и ручным управлением памятью
Проблемы работы со SwiftUI на iOS 14 и их решения

Команда Яндекс Диска написала шикарный лонгрид про то, как они добавляли SwiftUI в легаси проект на UIKit и столкнулись с миллионом проблем по ходу интеграции:

👉Баги в шаринге файлов
👉Борьба с CocoaPods и превью
👉Проблемы в работе с коллекциями
👉Проблемы с анимациями

Помимо решения этих проблем ребята делятся и советами по улучшению перфоманса, которые помогли получить прирост порядка 3х.
Как и когда запрашивать ревью на приложение

Тред с обсуждением особенностей работы с requestReview API, которое показывает пользователю предложение оценить приложение. Основная сложность с тем, что разработчик напрямую не управляет появлением этого алерта, равно как и не может узнать, был ли он показан.

👉Примерные бенчмарки количества рейтингов к количеству загрузок: 1.5-2.5%.
👉Конкретных стратегий очень много, но народная мудрость говорит о том, что лучше запрашивать отзыв не сразу на старте приложения, а после завершения целевого действия.
👉Больше всего хвалят показ по сочетанию следующих факторов: 5 запусков приложения, несколько совершенных целевых действий, и хотя бы неделя, прошедшая с первого запуска.
Function Body Macros

В Swift приняли пропозал, добавляющий в систему макросов возможность подменять или аугментировать тело функции. Короче, такой свиззлинг, но в компайл-тайме.

Такая штука открывает кучу возможностей, например:
👉Автоматическое логирование вызова функции и переданных аргументов
👉Превращение обычных функций в RPC
mise – удобный version manager для тулинга

mise – менеджер версий, который позволяет вам централизованно управлять версиями консольных тулов, используемых как локально, так и на CI. Создаете toml файл, определяете там нужные версии, добавляете его в репозиторий проекта – и готово!
Про iOS разработку в Revolut

Обзорная статья про то, как в Revolut организована iOS разработка во всех их приложениях. Интересные факты:

👉Используется Clean Architecture, смешанная с MVVM-C.
👉Приложения побиты на модули, 160 пошарены между всеми проектами, еще 170 в основном приложении.
👉По техстеку: Swift, Bazel, минимум зависимостей от сторонних фреймворков.
👉Всего над их проектами работает 120 айосеров.
👉Регулярно гоняются 150.000 юнит тестов и 3.000 UI тестов.