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

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

Размещение рекламы: @tanyasanovna
Download Telegram
CocoaPods переходит в maintenance режим

Команда CocoaPods официально перевела проект из режима активной разработки в режим поддержки.

Что с проектом будет происходить:

👉Будут закрывать все уязвимости
👉Два раза в год будут выходить релизы для совместимости с Xcode
👉Инфра сайта будет поддерживаться в относительно рабочем состоянии
👉Могут приниматься сторонние PR

Чего не будет:

👉Не будут решаться проблемы отдельных людей
👉Команда проекта не будет добавлять новые фичи
👉Никаких гарантий по сторонним PR и их рассмотрению не дается

Ну и в целом команда рекомендует всем мигрировать на SwiftPM, и со временем будет еще больше отходить от проекта.
Новая функция count(where:) в Swift 6

В Swift 6 завезли не только strict concurrency, но и другие фичи. Среди них – новая функция count(where:), которая позволяет посчитать, сколько элементов в коллекции удовлетворяют какому-то условию.
Браузер Ladybird перепишут на Swift

Swift начинают выбирать на замену С++ как альтернативу Rust на реальных проектах. В этот раз про свой выбор рассказывают разработчики независимого браузера Ladybird, ядро которого они планируют постепенно переписать с С++ на Swift.
Как записывать крутые демо видео

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

Skip, инструмент, транспилирующий Swift в Kotlin, а SwiftUI в Compose, релизнул версию 1.0. Сам по себе Skip платный и частично closed source, но с релизом стабильной версии появился новый бесплатный тариф для инди.

Вот тут можно посмотреть, как Skip работает.
Пробуем Swift для Embedded разработки

Помимо Apple Intelligence на WWDC были и другие заметные анонсы. Один из них – использование Swift для программирования микроконтроллеров и прочего эмбеда. По ссылке – несколько видеотуториалов, рекомендации по покупке железок для старта и их траблшутингу.
Пошаговый разбор Swift Concurrency на примере загрузки изображения

Загрузка изображения из сети – одна из самых базовых задач, с которыми сталкивается разработчик. На ее примере автор разбирает основные концепции Swift Concurrency, чтобы отучить вас от магического мышления.
Рекурсивные enum'ы

Ключевое слово indirect позволяет реализовывать рекурсию в enum'ах. В статье разбирается, как с использованием этого свойства можно смоделировать файловую систему.
Tophat – open source проект для распространения билдов внутри компании

Помните, я на прошлой неделе рассказывал про Tuist Previews? Так вот, Shopify опенсорснули очень похожую штуку. Все ветки автоматически билдятся на CI, артефакты заливаются в отдельное хранилище, ссылки на них линкуются к PR, и дополнительно доступны через отдельное macOS приложение. Выглядит очень удобно, посмотрите!
Простое приложение на Swift/WebAssembly

Ребята из Pointfree запустили новую серию видео, в рамках которой они будут разрабатывать кроссплатформенное приложение, запускающееся как на iOS, так и в браузере, с помощью экспериментального компилятора Swift в WebAssembly.
Typed throws в Swift 6.0

Еще одно quality of life улучшение в Swift 6 – возможность в явном виде указать тип ошибки, которую может выбросить функция. При этом вы можете продолжать писать код как и раньше, не указывая конкретный тип – компилятор сам приведет его к any Error.
Как писать тесты на утечки памяти

Возможность генерировать граф потребления памяти вместе с прогоном UI тестов появилась еще в Xcode 13. В статье разбирается, как с ее помощью можно автоматически отлавливать утечки памяти на CI.
Conditional брейкпойнты могут замедлять работу приложения

Отличная история дебага неочевидной проблемы с перфомансом, в которой сам дебаггер и оказался главным виновником.
Как не надо использовать DeviceCheck Framework

DeviceCheck фреймворк дает возможность записать произвольную информацию размером в два бита на приложение. Эта информация будет сохраняться между всеми переустановками приложения, стиранием данных и даже при смене владельцев телефона. В статье рассказывается, как из-за того, что Snapchat использовал эти два бита, чтобы сохранять информацию о статусе бана пользователя, новый владелец айфона не мог пользоваться их приложением.
Как держать версии зависимостей актуальными

👉Назначаем ответственного за каждый из уже добавленных пакетов. Роль ответственного – обновлять его версии, когда они выходят.
👉С помощью пакета swift-outdated следим на CI за появлением новых версий.
👉Если новая версия появляется, пишем об этом в Slack и меншним ответственного.
👉Если внезапно у какого-то пакета нет ответственного, кидаем ошибку.
EditorConfig в Xcode 16

В Xcode 16 появилась возможность программно задавать настройки редактора, которые зависят от текущего открытого проекта. Например, в одном проекте максимальная длина строки кода может быть 120 символов, а в другом – без ограничений.