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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Бесплатная альтернатива App Center Distribution

Emerge сделали свой сервис по распространению iOS и Android билдов бесплатным. Лимиты довольно неплохие для большинства команд:

👉5000 билдов в месяц
👉Неограниченное количество пользователей
👉SSO
👉SDK для автоматического уведомления пользователей о новых сборках

Детали вот тут.
Рабочая группа вокруг Swift on Android

История вокруг использования Swift для Android разработки продолжается! Сообщество собрало вокруг этого движа рабочую группу, в которую входят как разработчики Skip, так и другие люди. Пока их план – встречаться и обсуждать проблемы, но в будущем надеются стать официальной частью проекта Swift.
Как воспроизводить state restoration

В SwiftUI state restoration реализуется через SceneStorage. При этом протестировать его работу вручную – задача не очень тривиальная, так как при закрытии приложения через app switcher он сбросится. Вместо этого нужно сделать следующие шаги:

👉Запустите приложение в симуляторе
👉Измените стейт (например, пробегитесь по навигации)
👉Нажмите Home, отправьте приложение в бэкграунд
👉Нажмите Stop в Xcode
👉Запустите приложение из Xcode еще раз и проверьте, что стейт восстановился
This media is not supported in your browser
VIEW IN TELEGRAM
Noora – UI компоненты для CLI

Писать консольные утилиты на своем родном языке намного веселее, чем на каком-нибудь Python или Ruby. Noora – Swift-пакет, который дает вам удобные графические примитивы для крутых консольных интерфейсов. Из примеров компонентов: алерты, yes/no вопросы, индикатор прогресса.
NSHipster про Ollama

Mattt продолжает писать в свой казалось бы уже давно забытый блог. Новые статьи теперь не совсем про iOS разработку, а скорее про различный тулинг вокруг, который может быть релевантен и мобильщикам. В этот раз рассказывает про Ollama – CLI инструмент для установки и менеджмента локальных LLM.
Cooperative Cancellation в Swift Concurrency

Отмена и остановка задач в Swift Concurrency – разные концепции. Задача никогда не останавливается автоматически, но рантайм сообщает о том, что она помечена как отмененная. Как обрабатывать эту информацию – решать вам. Например, можно вернуть пустой результат или частичный.
Toolbar и NavigationView

Модификатор .toolbar в SwiftUI добавляет вьюшке тулбар, но делает он это только тогда, когда она находится в навигационном стеке. Для того, чтобы тулбар отображался вне зависимости от наличия NavigationView, автор статьи перепробовал несколько подходов и поделился довольно костыльным, но при этом рабочим решением.
Полезный тулинг для терминала

👉Atuin – история вызванных команд с fuzzy поиском по ним
👉Starship – простой способ раскрасить терминал
👉fzf – простой fuzzy поиск по файлам
👉Secure Shellfish – iOS приложение для ssh доступа к вашей машине
SharingGRDB – альтернатива SwiftData

Pointfree выпустили новую библиотеку SharingGRDB. API практически такой же, как у SwiftData, но под капотом крутится полноценная SQLite база, к содержимому которой можно получить прямой доступ.

Примеры использования можно посмотреть тут.
Что нового в concurrency в Swift 6.1

Как и обещалось в пропозале светлого будущего, Swift Concurrency постепенно становится более дружелюбной к разработчикам. Недавно вышел бета-релиз Swift 6.1, в котором появилось несколько новых фичей, которые с этим помогают.
Воркфлоу работы с LLM

AI довольно сильно меняет процесс разработки как для новых проектов, так и при работе в существующих кодовых базах. Я сам использую похожий на описанный в статье подход:

👉В чате совместо с AI брейнштормятся требования к задаче, на выходе получается подробная спека
👉На базе спеки ассистент пишет план атомарных задач
👉Эти задачи одна за одной скармливаются агенту либо LLM, хорошо работающей с кодом
Как обходить защиту от дебага и джейлбрейка

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

Пример того, как на Swift написать AWS Lambda, которая будет управлять умными лампочками. Помимо особенностей реализации, автор подсчитывает стоимость такого бэкенда и его перфоманс.
Доклады про Swift с FOSDEM 2025

Если вы хотите послушать неконвенциональные доклады про Swift, то FOSDEM – самое оно! Ничего про iOS разработку, вместо этого – серверсайд, эмбеддед и технические кишки. Вот несколько интересных записей:

👉Swift/Java Interoperability
👉Ferrofluidic Music Visualiser with Embedded Swift
👉Distributed Tracing
Какие версии iOS сейчас используются

1️⃣iOS 18 – 79.5%
2️⃣iOS 17 – 13.7%
3️⃣iOS 16 – 5%

А распределение по минорным версиям можно посмотреть здесь.
Lynx – новый кроссплатформенный фреймворк

TikTok выпустили новый кроссплатформенный UI фреймворк. Концептуально он ближе всего к React Native – используются веб-технологии, но UI рендерится в нативные платформенные компоненты. Обещают классный перфоманс за счет использования двух рантаймов, одного для высокоприоритетных UI операций, а другого для большей части пользовательского кода.
Ускоряем таблицы в SwiftUI с помощью UIKit

Если производительности списков в SwiftUI вам в каких-то кейсах недостаточно, вы можете продолжить его использовать только для лэйаута ячеек, но для менеджмента всей табличной логики переключиться на UICollectionView. Это стало возможным благодаря новому типу конфигурации UIKit ячеек, который позволяет встраивать SwiftUI.
Как сократить большой JSON

Огромные JSON'ы, загружаемые с сервера, один из частых недостатков backend-driven UI. Ребята из Альфы рассказывают, как они свели дублирующиеся конструкции к минимуму, реализовав кастомную логику шаблонизации. В итоге на списках со 100 элементами получается ~74% экономии.
Новый релиз Copilot for Xcode

Вышла новая версия плагина Copilot, вместе с которой он перешел из статуса беты в GA. Самое важное – теперь можно выбирать, какая LLM будет использоваться в чате: Claude Sonnet, o1 или o3-mini.