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

Регистрация в РКН: https://gosuslugi.ru/snet/67b464d698a28c4e866d827a

Размещение рекламы: @tanyasanovna
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Ставим ViewController в хедер алерта

Приватный API метод _setHeaderContentViewController(_:) у UIAlertController позволяет установить любой контроллер в качестве заголовка алерта. Этот метод использует Apple в Journal App для того, чтобы показывать date picker в action sheet.
💅40🔥23👍2
Подкаст с менеджером команды компилятора Swift

Выпуск подкаста Swift Package Indexing с Holly Borla, менеджером Swift Compiler Team. Весь выпуск фокусируется на изменениях в Swift 6.

Если вы не хотите слушать выпуск, то можете открыть его автосгенерированный транскрипт в Apple Podcasts – фича появилась вот совсем недавно.
👍22
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация паспорта в Airbnb

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Такая штука открывает кучу возможностей, например:
👉Автоматическое логирование вызова функции и переданных аргументов
👉Превращение обычных функций в RPC
💅35🔥15👍7