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
Как писать тесты на утечки памяти

Возможность генерировать граф потребления памяти вместе с прогоном 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
Как использовать Morphology для строк без чисел

Morphology – набор API в Foundation, которые позволяют правильным образом склонять ваши строки. Например, указывать правильное окончание у "You have X messages" в зависимости от значения Х.

При этом задача отображения строки "You have unread messages", которая не включает в себя Х, гораздо менее тривиальна.
👍16👎1
История странного креша Core Data

Замечательная история одного EXC_BAD_ACCESS, который появлялся, когда менялось значение одного из свойств entity в нужном для этого контексте. Причина – название изменяемого атрибута начиналось со слова new.
💅32🔥14👍62
Релиз Swift 6

Swift 6 наконец-то вышел! Все фичи мы уже сто раз успели обсудить, но, если вы это пропустили, официалтный блогпост – хороший способ освежить память. Из интересных наблюдений – и в релизном твите, и в блогпосте Swift активно позиционируется не как мобильный язык, а как кроссплатформенный язык общего назначения, позволяющий писать быстрый и безопасный код.
1🔥46👍10💅1
SwiftPM Snippets

Сниппеты появились еще в Swift 5.7, но используются они редко, а официальной документации мало, поэтому статья – на вес золота. Автор разбирает, как добавлять сниппеты в пакеты, встраивать их в DocC документацию, и использовать кучу их малоизвестных фичей.
2🔥154👍3
Изменения структуры проекта в Xcode 16

В Xcode 16 изменился дефолтный способ организации структуры проекта – вместо групп теперь вы работаете с реальными папками. В статье разбираются последствия этого решения.
🔥57👍8👎31