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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Правила создания классных анимаций

Рекомендации по тому, как создавать красивые и полезные анимации. Большую часть рекомендаций сопровождают интерактивные примеры. Например, можно поиграть с разными параметрами spring анимации, чтобы прочувствовать, при каких значениях она будет ощущаться максимально натурально.
Как управлять позицией скролла в SwiftUI

Одна из самых долгожданных новых фичей в SwiftUI – программный скролл до любой позиции. В статье разбирают основные возможности нового API:

👉Определение позиции скролла как хардкодом, так и через позицию других элементов.
👉Биндинг позиции скролла к стейту.
👉Анимирование изменения скролла.
Helm – нативное macOS приложение для работы с App Store Connect

Я удивлен, что такой клиент появился только сейчас. С появлением у App Store Connect нормального API идея лежала на поверхности.
Что приложение умеет:

👉Управлять билдами и пользователями в TestFlight
👉Проверять статус билдов
👉Переключаться между разными командами
👉Управлять локализацией страницы приложения и всякими ASO штуками
Опыт работы с App Clip

Ребята из Додо делятся опытом своего эксперимента с App Clip: с какими ограничениями столкнулись, как срезали углы, чтобы ускорить разработку, как тестировали на пользователях. Параллельно нативной реализации, аналогичную фичу сделали на PWA. Так вот, App Clip показывает в 4 раза более высокую конверсию в целевое действие, чем веб-страница.
Дизайн-кит iOS 18 в Figma

Обновленный под iOS 18 дизайн-кит наконец-то добрался и до Figma!
Swift Testing намного медленнее XCTest

На наборе из 1000 простых тестов XCTest отрабатывает за 3 секунды, а Swift Testing – за 85. Репозиторий с бенчмарком здесь.
Записи Swift Server Side Meetup #2

Apple продолжает организовывать митап про серверный Swift. В этот раз в программе два доклада:

👉Как деплоить Vapor на платформу Fly.io с помощью докера
👉Обзор релиза фреймворка Hummingbird 2

Помимо докладов – AMA сессия с участниками рабочей группы Swift on the Server.
Улучшенная поддержка Swift в VSCode

Вместе с выходом Swift 6 значительно улучшилась поддержка языка в VSCode. Что-то подкрутили в самом плагине, что-то получилось благодаря улучшениям в SourceKit-LSP.

👉Интеграция со Swift Testing
👉Отображение code coverage
👉Rename для функций, типов и переменных
👉Интеграция со swift-format
👉Выбор из нескольких Swift тулчейнов
👉Индексация SwiftPM проектов в бэкграунде
Миграция в Swift организацию продолжается

Swift организация на GitHub продолжает пополняться новыми проектами. За последнюю неделю туда переехали основной репозиторий Swift, SwiftPM, плагин для VSCode, LSP и много более мелких реп.
Уязвимости в CocoaPods

В CocoaPods обнаружили сразу несколько очень неприятных уязвимостей, которые уже исправлены:

👉Злоумышленники могли получить контроль над заброшенными подами, и, как результат, добавить туда вредоносный код, который подтянулся бы в приложения без лока на определенную версию библиотеки.
👉Авторизация через email была реализована небезопасно, из-за чего злоумышленники могли исполнять произвольный код на сервере CocoaPods, отвечающем за Podspec'и.
👉Злоумышленники могли получить доступ к авторизационным токенам разработчиков и подменять пакеты прямо на сервере.

Обязательно посмотрите чек-лист того, что вам надо сделать с вашим проектом, чтобы проверить, не стали ли вы жертвой подмены пакетов.
Клиент-серверное приложение на вебсокетах с фреймворком Hummingbird

Подробный туториал по тому, как написать простые клиент и сервер для приложения чата, которые будут общаться с помощью вебсокетов, на фреймворке Hummingbird.
Как работают очереди

Отличный пост про то, как работают разные типы очередей, по каким параметрам их можно сравнивать друг с другом, и как приоритизация запросов влияет на них. Самое классное – все это с интерактивными примерами!
Expicitly built modules в Xcode 16

В Xcode 16 завезли фичу "Explicitly built modules", которая должна помогать с ускорением билдов и делать ошибки более информативными. В статье детально рассказывается, как эта фича ускоряет работу xcodebuild, и как ее можно включить для своего проекта.

На Beta 1, правда, ускорения пока не заметно.
Про Meridian, еще один серверный фреймворк

Meridian – фреймворк для разработки бэкенда на Swift. Его отличительная особенность – API, похожий на SwiftUI. Еще из интересного:

👉Есть поддержка вебсокетов
👉async/await из коробки
👉Можно удобно объявлять свой Middleware
This media is not supported in your browser
VIEW IN TELEGRAM
Сложности в работе с кареткой

Автор библиотеки DeclarativeTextKit рассказывает про неочевидные сложности расчета позиции каретки и ментальную модель, которая помогает рассуждать даже в граничных кейсах.

А если вы захотите узнать больше про разные интересные моменты в том, как работает рендеринг текста, напоминаю о чудесном выпуске Подлодки с Тонским на эту тему!
This media is not supported in your browser
VIEW IN TELEGRAM
TextRenderer в SwiftUI

В SwiftUI появился новый протокол TextRenderer, который заменяет NSAttributedString. В статье разбирается, как с его помощью подсветить часть символов в строке.
Как создать кастомный SF Symbol

Вы можете пользоваться не только готовыми SF Symbols, но и создавать полностью свои. В туториале разбираются все шаги – от создания векторной иконки в Sketch до использования ее в коде приложения.
Blend modes в SwiftUI

Гайд по тому, как работают разные режимы смешивания цветов в SwiftUI, и какими формулами они описываются.