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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Что происходит с Apple Intelligence

На прошлой неделе Apple в очередной раз отложили релиз новых AI фичей, которые показывали еще на WWDC. Одновременно с этим произошла утечка того, о чем говорилось на внутреннем разборе полетов команды Siri:

👉AI надежно работает только в 66-80% случаев, что очень мало и далеко от продакшна.
👉Менеджер команды Siri винит маркетинг в том, что всему миру показали и пообещали еще не работающие фичи, создав нереалистичные ожидания.
👉Никого из топов увольнять за провал пока не планируют, но и не исключают этого.
👉Apple Intelligence выпустят только тогда, когда будут уверены в качестве.
Правильный поиск вхождения строки

name.lowercased().contains(searchText.lowercased())
name.localizedStandardContains(searchText)

Чем второй вариант лучше:

👉По умолчанию case insensitive
👉Игнорирует диакритические знаки (cafe vs café)
👉Нормально справляется с локально-специфичными символами (ẞ → ss)
👉Поддерживается в SwiftData
Рендеринг пиксель-арта

Основная проблема в рендеринге пиксель-арта – размывание четких границ каждого пикселя при скейле картинки для дисплеев с большим разрешением. В статье разбирается два способа, как это сделать в SwiftUI: с помощью Image и с помощью Canvas.
Новая рабочая группа в Swift, отвечающая за тестирование

Как вы, наверное, знаете, развитие Swift сейчас довольно децентрализовано, и за разные его аспекты отвечают рабочие группв, собранные как из сотрудников Apple, так и из членов коммьюнити. Так вот, сформирована новая рабочая группа, которая будет отвечать за все, что связано с тестированием, включая различный тулинг и библиотеки. В основном они будут заниматься реализацией Swift Testing Vision.

Подробнее об участниках и целях можно прочитать здесь.
Используем Swift в Zed

Zed – сравнительно недавно выпущенный редактор кода, основная особенность которого – он супер быстрый. Если вам интересно посмотреть на еще одну альтернативу Xcode, то настроить для Swift разработки по инструкциям из статьи его довольно просто.
WWDC 2025

А вот и анонс WWDC этого года. Блокируем неделю с 9 по 13 июня. Смотреть можно, как и в прошлый раз на YouTube и в Apple Developer app.
Почему Group в SwiftUI стоит избегать

В отличие от VStack/HStack, Group работает не очень надежно – поведение между симуляторами и превью различается, какие-то модификаторы вызываются только один раз, а какие-то – для каждой вьюшки.
Мутационное тестирование в большом проекте

Мутационное тестирование – это метод тестирования программ, при котором в код специально вносятся небольшие изменения – мутации, чтобы проверить, обнаружат ли их тесты. Так вот, для Swift есть опенсорсный инструмент Muter, который умеет реализовывать довольно много различных мутаций.

В статье разбирается опыт использования Muter в проекте с 1000 тестов и 1657 сгенерированных мутантов.
Bindings в SwiftUI

Chris Eifhof рассказывает, почему в продакшн коде стоит избегать Binding(get:set:) – меньше рисков поймать проблемы с перфомансом, код проще поддерживать и тестировать.
MCP для iOS симулятора

Model-Context Protocol – это дико хайпующий сейчас стандарт для общения LLM с внешними инструментами. Так вот, его прикрутили и к iOS симулятору для взаимодействия с его UI, а значит, ваш AI теперь может самостоятельно взаимодействовать с запущенным приложением – например, заменяя собой QA.
Как писать git hooks на Swift

На Swift можно писать не только консольные тулы, но и скрипты, которые будут автоматически вызываться либо до, либо после коммита в Git. В статье разбирается пример хука, который не даст коммитить в мастер код, содержащий принты.
Новый релиз Alex – альтернативы Cursor для Xcode

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

👉nonisolated теперь можно применять не только к пропертям и функциям, но и к типам и расширениям.
👉Методы из хедеров ObjC классов теперь можно реализовывать в Swift, используя новое ключевое слово @implementation.
👉Trailing commas теперь поддерживаются не только в коллекциях, но и в кортежах, списках параметров и аргументов, строковых интерполяциях и в других местах.
👉С помощью package traits часть API теперь можно объявлять доступными только для конкретных платформ – например, Embedded или Wasm.
Релиз Swiftly 1.0

Swiftly – это CLI-тул, который позволяет удобно менеджерить версии Swift тулчейна. Он может пригодиться, когда вы хотите установить версию Swift, отличную от той, которая шиппится вместе с Xcode, или установить Swift на не-macOS систему.
Интеграция SwiftUI с Rust-библиотекой egui

Держите дикую историю про то, как общая структура приложения была реализована на SwiftUI, а вот рендеринг конкретных таблиц, требовательных к перфомансу, на Rust-либе egui.

👉Исходники
👉Видео результата
Выпуск Подлодки про Swift

Восемь лет назад мы начинали Подлодку как подкаст про iOS разработку. Со временем проект эволюционировал, мы все больше и больше расширяли список тем. Но когда-то нужно вернуться и к корням – и спустя 400 выпусков мы все-таки записали офигенный подробный эпизод про Swift. Глеб Лукьянец, которого знают все посетители нашего чата, рассказал про историю развития, ключевые фичи и необычные технические концепции в языке. Ну и, конечно же, похоливарили про растущую сложность, запутанный дизайн и макросы!
Избегаем Optionals при работе с URL

Санделл вышел из долгой спячки, и сразу же с прекрасной статьей про разные техники работы с URL, которые помогают избежать работы с ним как с Optional типом. Одна из них – макросы, которые позволяют удобно работать с URL, известными в компайл-тайме, а вторая – сравнительно новый API для динамической сборки URL в рантайме.
Поддержка Swift в Copilot Code Review

Copilot Code Review – это AI агент от GitHub, который автоматически реаьюит ваш код: ищет баги, проблемы с перфомансом, и даже предлагает фиксы. Так вот, он вышел из Beta, и вместе с этим анонсировали поддержку Swift. Затаскивайте в ваши проекты и расскажите, как работает!
Продвинутая работа с превью в Xcode

👉Макрос @Previewable позволяет избежать создания дополнительнвх SwiftUI структур, нужных только для работы превью. Благодаря ему можно и создать превью, и задать для него стейт в одну строчку.
👉Протокол PreviewModifier помогает с созданием переиспользуемых наборов данных, которые можно использовать в разных превью.