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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Unit тесты на Observation

Observation framework выпустили уже довольно давно, а про лучшие практики тестирования кода с ним еще никто не написал. В статье разбирается, чем отличается тестирование Combine от Observation, и какие хелперы могут помочь в тестах.
Прячем API ключи в on-demand ресурсах

Неожиданный способ использовать on-demand ресурсы – после первой установки приложения скачивать файл, в котором зашиты API ключи для работы с сервером. От анализа бинарника оно, конечно, защитит, но кто мешает посмотреть на файлы после их скачивания, непонятно.

Код можно чекнуть тут.
AeroSpace – оконный менеджер для macOS

Мой коллега выпустил крутейший оконный менеджер, который работает вне нативных macOS Spaces. Работает очень быстро, удобные хоткеи, поддерживает несколько мониторов.

👉Демка на YouTube
Все зависимости надо держать в VCS

Автор топит за то, что под Git надо держать вообще все зависимости проекта – начиная от библиотек, заканчивая тулчейном компилятора. Склонированного репозитория должно быть достаточно, чтобы выключить интернет и собрать проект с нуля на новой машине. Плюсы такого подхода, ограничения реального мира и фантазии о том, как могла бы выглядеть оптимизированная под такой сценарий VCS будущего – в статье.
Макрос для параметризованных тестов

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

Теперь, если ваше приложение использует сторонние библиотеки, которые под капотом вызывают потенциально небезопасные для пользователя API, вам надо добавлять их в специальный манифест. Вот некоторые из таких SDK:

👉AFNetworking и Alamofire
👉Cordova
👉FBSDKLoginKit и FBSDKShareKit
👉FirebaseAuth
👉Flutter
👉Lottie
👉RxSwift
👉SDWebImage
👉SwiftyJson
Как трекать позицию view в скроллящихся списках

Иногда вам нужно отслеживать позицию какой-то конкретной вьюхи в таблице. Например, чтобы отслеживать отображаемый видеоплеер, или репортить отображение рекламы или рекомендаций в аналитику. При решении задачи в лоб можно довольно сильно испортить перфоманс скролла. В статье разбираются способы отслеживания как элементов внутри скролла, так и любой вьюшки в произвольной иерархии.
Вышли первые Mobile Interview — неформальные беседы про мобильную разработку в Яндексе

Ребята из разных команд мобильной разработки Яндекса рассказывают, какие задачи решают каждый день и почему им нравится эта работа. Первые выпуски уже можно посмотреть на YouTube-канале Yandex for Mobile:

🔸 В первом выпуске обсудили инфраструктуру Такси. Как и зачем собирать команду мобильной инфраструктуры приложения и чем ребята занимаются на ежедневной основе.

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

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

🔸 В четвёртом выпуске поговорили с деврелом. Что за люди делают мероприятия для мобильных разработчиков, как организовать большую конференцию и не сойти с ума, чем ещё занимаются DevRel-команды и зачем простым разработчикам связываться с ними.

Смотрите интервью и подписывайтесь на канал — скоро там выйдет пятый выпуск Mobile Interview.
Journaling Suggestion API

Вышел новый Tech Talk от Apple. В нем разбирается новый Journaling Suggestion API, с помощью которого любое приложение сможет получать саджесты от Journal app, который появится в iOS 17.
Подробный гайд по SwiftData

Кажется, самый подробный гайд по SwiftData из всех, что я видел: миграции, тестирование, связка с CloudKit, transformable types и куча других аспектов работы с фреймворком.
Apple запустили новостную рассылку для разработчиков

Apple продолжает менять свою стратегию взаимоотношений с разработчиками и становиться более открытым. В этот раз запустили регулярную рассылку, в которую будут включать все ключевые новости, произошедшие за последнее время. В декабрьском выпуске:

👉Использование App Store Connect для работы с Game Center
👉Разбор вопросов про spatial design
👉App Store 2023 awards
👉Интервью с разработчиком Ancient Board Game Collection
Импорт макросов в проект без SwiftPM

Иногда вам может потребоваться импортировать макрос в проект в CocoaPods зависимости или напрямую. В статье разбирается, как скомпилировать макрос в бинарник и корректным образом подключить его к проекту.
Как работает модификатор fixedSize()

В зависимости от типа вьюшки модификатор fixedSize() может как растянуть ее до границ родительской, так и сжать до какого-то небольшого размера. Под капотом там такая логика:

👉Взять пропозал по размеру от родителя
👉Выбрать размер, который идеально подходит самой вьюшке в зависимости от ее контента
Обновлен вводный курс в SwiftUI

Apple обновили курс для тех, кто только вкатывается в SwiftUI. За четыре часа вы изучаете основы фреймворка, работу с анимациями, лэйаут сложных интерфейсов и интероп с UIKit.
Google AI SDK для Swift

Google выпустили SDK, который дает удобный доступ ко всем их моделям, включая совсем свежую Gemini. SDK умеет:

👉Генерировать текст по текстовому вводу
👉Генерировать текст по мультимодальному вводу из текста и изображений
👉Работать в режиме чата
Arc браузер, написанный на Swift, вышел на Windows

Первое большое десктопное приложение, целиком написанное на Swift, вышло на Windows. Я все еще считаю эту идею абсолютно сумасшедшей. Если хотите узнать больше деталей про разработку, вот видео. Весь наработанный тулчейн обещают заопенсорсить.
Как регулируется accessibility

Обзор стандартов, законов и регулировок, которые существуют в разных странах для того, чтобы увеличивать доступность сайтов и приложений.
Добавление описаний к изображениям с помощью OpenAI Vision API

Автор Mastodon-клиента Ice Cubes рассказывает, как с помощью Vision API добавил в свое приложение фичу автоматической генерации описаний публикуемых изображений.