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

Регистрация в РКН: https://gosuslugi.ru/snet/67b464d698a28c4e866d827a

Размещение рекламы: @tanyasanovna
Download Telegram
Tophat – open source проект для распространения билдов внутри компании

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

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

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

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

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

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

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

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

Команда, решившая переехать с UIKit на SwiftUI, делится опытом системного подхода к переезду. До того, как сесть за масштабный рефакторинг, ребята организовали полноценное обучение всей команды, в основе которого решало совместное решение близких к реальным задач.
👎279👍6💅3
Роадмап Vapor 5

Vapor – один из основных серверных фреймворков на Swift. Команда опубликовала роадмап на следующую мажорную версию, первую альфу которой хотят выпустить вместе с Swift 6. Ключевое изменение, конечно, полный переезд на Swift Concurrency, но помимо него есть и другие интересные планы.
42🔥12👎1💅1
Server-side Swift Meetup #3

В продолжение темы Swift на сервере, ловите ссылку на следующий митап от команды, занимающейся его развитием. В программе:

👉Swift и WebAssembly
👉Подготовка проектов к Swift 6

📆Митап пройдет 17 сентября
10👍6👎5🔥3
Распознаем скриншоты банковских приложений

Классный подход к решению задачи получения информации о выбранных категориях кэшбека в разных банках. Вместо того, чтобы пытаться вытащить нужную информацию по API, которого может и не быть, автор статьи использует Vision фреймворк, скармливая ему скриншоты приложений. И работает!
🔥15💅92
Переезд с CocoaPods на SwiftPM+Tuist

Недавний переход CocoaPods в режим поддержки послал еще один сигнал всем сомневающимся – пора уже переходить на SwiftPM. А одновременно с этим можно посмотреть и на Tuist, который поможет проще реализовать модульность, и уйти от конфиктов в файле проекта. Да и вообще, последнее время они релизят кучу классных фичей.
👎2617💅5👍3
libcimbar – протокол передачи данных на QR кодах

Не знаю, зачем вам этот проект, но выглядит как клевая идея для основы какого-нибудь пет-проекта! На базе анимированного QR кода реализована передача данных со скоростью около 100 кбит/сек.
🔥35💅10
Релиз Hummingbird 2

В последнее время количество новостей вокруг серверного Swift какое-то зашкаливающее. На этот раз речь про мажорный релиз еще одного сравнительно популярного фреймворка. Ключевое изменение, конечно же, Swift Concurrency. Полные релиз ноуты можно прочитать тут.
👍18💅7👎1
Используем Cursor для iOS разработки

Cursor – хайповая IDE, позиционирующая себя как AI-centric. Если вам интересно попробовать разрабатывать в ней под iOS, то в статье рассказывается, как с помощью библиотеки Inject можно обойтись без необходимости работать с симулятором через Xcode.
👍12💅10👎2
Обновление Apple Design Resources

С выходом новых девайсов обновились и UI библиотеки Apple для Figma и Sketch. А главное, конечно – 10 новых сочетаний корпусов и ремешков для часов!
💅27👍21