Как работать с фреймворком Screen Time
Фреймворк Screen Time появился с iOS 16. С его помощью можно писать специальные экстеншны, которые позволяют отслеживать время, которое пользователь проводит в других приложениях. В статье пошагово разбирается, как в приложение Streaks добавляли такой мониторинг.
Изменения в парсинге URL
Изменение, которое вы могли пропустить. Начиная с iOS 17, поменялся стандарт парсинга строки в URL, использующийся при вызове init(string:)
функции. Основное изменение – раньше при парсинге невалидных символов получался nil, а теперь поведение стало менее строгим. Если хотите откатиться до старого поведения, нужно использовать другую функцию.
Как работают текстовые кодировки
Записали топовый выпуск Подлодки про разные неочевидные аспекты устройства текстовых кодировок и работы с ними. Больше всего, конечно, про Unicode. Если хотите узнать, почему в любом приложении, работающем с текстом, есть баги – обязательно слушайте!
По мотивам подкаста Никита Прокопов написал еще и шикарную статью, в которой подбил основные тезисы.
Релиз SFSymbols 5
👉700 новых символов: валюта, погода, автомобильные датчики, игровые контроллеры.
👉Расширена библиотека форм для создания кастомных символов.
👉Больше готовых анимаций для всех символов.
ManagedModels – библиотека для постепенного переезда на SwiftData
ManagedModels – пакет, который с помощью макроса генерирует CoreData модели напрямую из Swift классов. Не требует iOS 17+, а схожесть API позволит когда-то в будущем быстро переехать на SwiftData.
Чтобы быстро прогонять UI- и unit-тесты на macOS, ребята из AvitoTech разработали раннер Emcee и проапгрейдили его до облачной версии.
А чтобы обезопасить трафик и данные пользователей, запустили виртуализатор и изолировали виртуальные машины от внутренней сети.
Опытом организации седбокса и другими особенностями работы над раннером они делятся на этом канале
Реклама ООО "Авито Тех", ИНН 9710089440
erid: LdtCK2GYR
Realm переименовывают
Несколько лет назад Realm выкупила MongoDB. Теперь они решили переименовать его в MongoDB Atlas Device SDK. Как же плохо то, а.
Анимация CD на шейдерах
Вторая статья про шейдеры от Миши Рубанова с примером того, как реализовать правильное поведение отражающей поверхности CD.
Улучшения дебага в Swift 5.9
👉Ускорены команды p
и po
, а заодно улучшено и качество их аутпута.
👉Eval в LLDB теперь умеет вызывать функции с generic параметрами.
👉Дебаггер лучше работает с переменными с одинаковыми названиями но разными скоупами видимости.
Релиз Swift HTTP Types 1.0
Apple не только показывают новые библиотеки, но и довольно быстро их стабилизируют. swift-http-types, которую представили только в июле, за несколько месяцев дошла до версии 1.0.
Размеры экранов новых айфонов
В этом году все модели выходят с поддержкой Dynamic Island, поэтому жить будет чуть проще. В статье – размеры экранов и safe areas новых телефонов.
Запись первого выпуска Лампового Стола
Недавно прошел первый лайв-эфир старичков нашего чата про SwiftUI. Если вы не подключились к трансляции, есть шанс все наверстать!
Курс от Жени Елчева для начинающих разработчиков
Вышли все 66 видеоуроков бесплатного курса Жени Елчева для тех, кто только вкатывается в разработку на Swift. Поддержите лайком, Женя крутой!
Так, это не учебная тревога. Если у вас премиум, с вас буст, а с меня – топовые сториз от имени канала!
/channel/iosgr?boost
Новый вводный курс в ТСА
Авторы ТСА выпустили новый курс из 7 эпизодов про основные принципы работы с библиотекой. В рамках курса с нуля разрабатывается простое приложение и покрывается тестами.
“Каждое утро я выпиваю чашечку кофе и слушаю шоу от разработчиков из Тинькофф “Как это работает”” © Билл Гейтс
Шоу ведут Android-разработчик Кирилл Розов и iOS-разработчица Розалия Амирова, которые приглашают экспертов, чтобы поговорить про аспекты ИТ-индустрии.
Дискуссии, лайфхаки для собеседований и выпуск, где заглядываем под капот Compose Multiplatform вместе с Алексеем Гладковым ищите здесь: Compose IOS. Как это работает #0 Пилот
Реклама АО «Тинькофф Банк»
Интерактивный гайд по CRDT
Лучший пост недели. Очень просто и подробно разбираются принципы работы CRDT, сразу в виде кода и интерактивного плейграунда. Статья про JavaScript, но все сниппеты кода очень простые, и легко переносятся на Swift.
История одного дебаг-меню
Ребята из Альфы рассказывают, как устроено дебаг-меню в их приложениях. Из интересного – есть создание тестовых пользователей, просмотр логов сетевых запросов и аналитики, и счетчик FPS.
Как убедить компанию поддерживать Accessibility
Подборка советов и часто встречающихся возражений от бизнеса. Вот некоторые из рекомендаций:
✅Проще всего убеждение дается, если вы покажете, как реальные люди с ограниченными возможностями пользуются вашим приложением.
✅Сначала договоритесь о небольших улучшениях, и постепенно наращивайте вложения.
✅Разумнее всего начинать поддерживать accessibility как можно раньше. Чем дольше живет проект, тем сложнее это будет.
✅Проводите accessibility testing хотя бы раз в полгода, чтобв отслеживать прогресс.
londeix/inspecting-xcodes-build-system-graph-at-ease-e96573d5d340">Как устроена билд-система Xcode
Разбор того, на какие этапы разбита сборка ваших проектов в Xcode, и как дебажить проблемы в билд графе. Для анализа используется XCBuildAnalyzer.
Иконка Control Center всегда ест 1% CPU
Иконка Control Center всегда находится в тулбаре macOS, и всегда ест 1% CPU. Причина – лейаут на SwiftUI постоянно перерендеривается, даже когда само меню закрыто.
Avito iOS meetup #10 пройдёт офлайн и онлайн 10 октября.
В программе:
– кейс по интеграции подхода async/await в проекты и прод;
– обмен опытом по переводу приложений на SwiftUI;
– разбор нового инструмента Apple — mergeable libraries;
Забронировать место офлайн по ссылке.
Подписаться на напоминание о трансляции здесь.
Опрос про Server-Side Swift
Если так случилось, что вы пишете какой-то серверный код на Swift, пройдите опрос от Apple и поделитесь своим опытом. Очень интересно узнать, что изменилось за год.
Тестирование макросов
Ребята из Pointfree выпустили библиотеку для тестирования макросов MacroTesting, и рассказывают о том, как с ней работать.
Кросскомпиляция Swift библиотек
В мире, в котором команда Swift показывает новые библиотеки не только во время WWDC, а в течение всего года, жить стало гораздо интереснее. В этот раз выпустили экспериментальную версию Swift SDK Generator, инструмента для кросскомпиляции Swift библиотек сразу под все поддерживаемые платформы.
Как Airbnb переезжали на SwiftUI
Airbnb недавно закончили переезд на SwiftUI и поделились стратегией миграции, проблемами и результатами.
👉По примерной оценке кода стало в 6 раз меньше
👉Перфоманс при этом не изменился
👉77% инженеров из команды считают, что SwiftUI вырастил их продуктивность, и 100% – что не ухудшил
Новый подход к тестированию в Swift
Выход макросов в Swift 5.9 разблокировал еще одну возможность – полный пересмотр того, как работают тестовые API. Ребята из команды Apple опубликовали вижн того, какими они их видят в будущем, и экспериментальную версию нового пакета swift-testing.
Вышла релизная версия Swift 5.9
Swift 5.9 вышел, теперь официально! Вы его, скорее всего, уже попробовали, но на всякий случай перечитайте пост про макросы, интероп с С++ и другие языковые фичи.
HIG про Action Button
В Human Interface Guidelines появилась статья об использовании Action Button в iOS и watchOS.
Swiftly – CLI менеджер версий Swift
Swiftly – новый менеджер версий тулчейна Swift, поддерживаемый SSWG. Пока работает только под Linux, но позже завезут поддержку и других операционок. По функциональности все стандартно – позволяет устанавливать разные версии Swift, менять активную, удалять их.