Telegram Web Link
Полезное применение Quick Actions

В Твиттере предложили топовую идею использования Quick Actions – добавить туда просьбу поделиться обратной связью. Когда пользователь захочет удалить приложение, он точно на нее наткнется, и шанс получить полезный фидбэк вырастет.
Опыт реализации App Clips

Ребята из Додо делятся своим опытом работы с App Clips для создания облегченной версии приложения для официантов. Из интересного:

👉В iOS 17 значительно подняли лимит размера бинарника, до 50MB
👉Ephemeral пуши, созданные специально под App Clips, могут работать без разрешения только 8 часов
👉Нельзя реализовывать уникальные фичи, которых нет в основном приложении
👉После создания App Clip может пройти несколько недель, пока Apple индексирует URLы, и все это время работать он не будет
Observation вне SwiftUI

Observation framework можно использовать за пределами SwiftUI для того, чтобы следить за изменениями интересующего объекта. В статье разбирается простой пример такого использования и несколько особенностей поведения, с которыми вы можете столкнуться.
Миграции в SwiftData

Пошаговая инструкция по определению версионированных схем данных в SwiftData, описанию порядка миграции с версии на версию и выбору между кастомной и легковесной миграцией.
Advent of Code 2023

Вы думаете, почему в понедельник и вторник не было постов? Да потому, что начался advent of code, и я ушел решать задачи (на самом деле нет, конечно, просто ленился). Так вот, кто не в курсе – каждый год с 1 по 25 декабря появляется новая задача, которую вы можете решать любыми способами и на любом языке. Чтобы поучаствовать в соревновании, нужно просто отправить правильный ответ. В этом году Swift присоединился к официальной тусовке, выпустил шаблон для быстрого старта и завел официальный лидерборд. Так что присоединяйтесь, это весело!
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 зависимости или напрямую. В статье разбирается, как скомпилировать макрос в бинарник и корректным образом подключить его к проекту.
2024/09/28 22:25:30
Back to Top
HTML Embed Code: