Telegram Web Link
Unit тесты на Observation

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

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

Код можно чекнуть тут.
13💅3👍2👎2
AeroSpace – оконный менеджер для macOS

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

👉Демка на YouTube
💅33👍10👎2
Все зависимости надо держать в VCS

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

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

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

👉AFNetworking и Alamofire
👉Cordova
👉FBSDKLoginKit и FBSDKShareKit
👉FirebaseAuth
👉Flutter
👉Lottie
👉RxSwift
👉SDWebImage
👉SwiftyJson
👍19👎81
Визуализация иерархии вьюшек на SceneKit

Если вам не подходит FLEX и другие решения для того, чтобы визуализировать иерархию компонентов в дебажном меню, такую штуку вполне можно собрать самостоятельно. Ребята из Альфы делятся своим опытом борьбы с возможными проблемами.
👍21👎3
Как трекать позицию view в скроллящихся списках

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор Mastodon-клиента Ice Cubes рассказывает, как с помощью Vision API добавил в свое приложение фичу автоматической генерации описаний публикуемых изображений.
💅54
2025/07/09 04:55:13
Back to Top
HTML Embed Code: