iOS Broadcast
3.32K subscribers
1.71K photos
85 videos
980 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
Логи в iOS, эпизод 2: os_signpost

Связка os_signpost и Time Profiler — мощный инструмент. Вы можете замерить сколько времени у вас выполнялась те или иные расчёты, сколько раз вы сходили в сеть, а также узнать, какая модель данных дольше всего парсилась

#tools
👍3👎1
Как локализовать приложение

Большой гайд по локализации. Как перевести текст, фото, дату и валюты. Обзор инструментов и автоматизаций

#Xcode #tools
👍3👎1
Codeface: визуализация кодовой базы

Codeface позволяет:
👉 Просматривать иерархию кода
👉 Просматривать основные зависимости между структурными элементами на каждом уровне: папками, файлами и кодовыми символами
👉 Смотреть циклические зависимости и где они находятся
👉 Смотреть размер (строк кода) каждого структурного элемента
👉 Проверять scope на всех уровнях — от папок до свойств
👉 Фильтровать все визуализации по поисковому запросу
👉 Сохранять, открывать и делиться файлами кодовой базы
👉 Добавлять поддержку языков помимо Swift при наличие LSP-сервера

Ссылка в AppStore


#tools
👍7👎4
Как настроить Charles

Приложение Charles Proxy - большой помощник и тестировщику, и разработчику. Для меня бывает особенно полезно, когда нужно подменить данные с бэка или подебажить приложение. Об установке, настройке и интерфейсе читайте в статье

#tools
👍8
Советы по отладке при работе над проектами Swift

👉 Настройте свой .lldbinit. Например, чтобы поменять язык или добавить дополнительные возможности к отладчику
👉 Используйте переменные фрейма: frame variable или v для сохраненных свойств вместо po
👉 Наблюдайте за системой. Брейкпоинты могут быть использованы для многих вещей, от изменения входных данных по умолчанию в поля (например, формы входа) до использования команд отладчика для создания цепочек символических брейкпоинтов
👉 Используйте
watchpoint set variable self.homeViewController
как брейкпоинт при изменении переменной

#tools
👍8
AppCode 2022.3 Release and End of Sales and Support

Вышел релиз AppCode 2022.3, совместимый с macOS 13 и Xcode 14.2. Также было объявлено о завершении проекта. На 14 декабря прекращена продажа и обновление подписок AppCode.

#tools
😢15😁5👍1👎1
Создаем VIPER шаблон с помощью Generamba

Если вам не нравится тратить много времени на создание шаблонов для VIPER, можно воспользоваться Generamba.
В статье гайд о том, как все настроить.

#tools
👎14👍3
Более Быстрые Сборки Apple с помощью lld Linker

TL; DR: lld — отличный выбор для более быстрой компоновки отладочных двоичных файлов iOS, macOS и т.д. Он завершает работу на 50-80% быстрее, чем ld64, и сейчас используется многими крупными компаниями.
Указания в документации LLVM объясняют, как правильно его интегрировать. 

#tools
🔥2
Most Popular Libraries and Frameworks for iOS App Development in 2023

Какие фреймворки и либы считаются топовыми в iOS разработке на 2023 год? 🤔
В статье приведен личный топ автора, и, конечно, не для всех эти либы могут стать must-have
👉 Alamofire
👉 SwiftyJSON
👉 SVProgressHud
👉 Masonry (SnapKit)
👉 MJRefresh

#tools
🤩4😢2👍1
Минимизируем человеческий фактор в Swift

Несколько инструментов, которые позволяют команде работать комфортно и эффективно:
👉 SwiftGen - менеджеринг ресурсов в приложении
👉 SwiftLint - единый code style на проекте
👉 XcodeGen - заранее решаем мердж-конфликты в проекте
В статье также есть инструкция по установке и настройке каждого из инструментов

#tools
👍9
Introducing EditKit Pro

EditKit Pro встраивается в Xcode и добавляет:
👉 генерацию комментариев MARK
👉 Beautify JSON, например, для моков
👉 генерацию Codable структур из JSON
👉 разбиение массива или длинной строки на несколько строк
👉 сортировку по алфавиту для импортов и других строк кода
Это лишь некоторые фичи EditKit Pro
Ссылка на скачивание

#tools
👍10👎1
Scaling a Mature iOS Codebase with Tuist

Tuist - утилита командой строки, которая автоматизирует создание Xcode проектов и workspace. Вот что заключили в Asana в результате переезда.

Плюсы:
Автодополнение работает лучше
Легче ревьювить конфигурации проектов и больше нет конфоиктов в project файлах
Создание нового модуля требует лишь одной команды
Правильное распределение файлов в таргеты
Более быстрая сборка проекта

Минусы:
Сложность. Далеко не всем разработчиком комфортно работать с  tuist edit, однако и не всем бывает нужно
git checkout занимает на 5-15 секунд больше, чем раньше
написание boilerplate кода для разделения интерфейсов и реализаций

#tools
🤩3👍1👎1
Fast and reliable iOS builds with Bazel at Mercari

Опыт команды Mercari по переезду на Bazel. Ускорили сборки и время запуска приложения. Описан опыт интеграции с Xcode, Dependency Management и прочие нюансы

#tools
👍1👎1
Firebase is Overrated. 5 Alternatives that are currently killing it

Firebase имеет достойные альтернативы:
👉 Supabase
👉 Amplify
👉 Apprite
👉 NHost
👉 MongoDB Realm

Подробнее о плюсах и минусах каждого в статье

#tools
👎5👍4
ChatGPT integration in Xcode: How to improve your Apps with AI (6 мин)

В статье рассказывается, как добавить в Xcode Source Editor Extension с ChatGPT, которое может:
👉 Преобразовывать код. Команда, которая преобразует JSON в структуру Swift
👉 Определять Code Smells. ChatGPT определит, что можно улучшить в нашем исходном коде.
👉 Объяснить, что происходит в коде

#chatgpt #tools
🤯8🔥3
DoccGPT: cамодокументируемый код на Swift с помощью GPT и DocC (4 мин)

DoccGPT — это эксперимент по полной автоматизации документирования кодовой базы на Swift. 
Компилятор документации DocC преобразует текст на основе Markdown в обширную документацию для проектов Swift и Objective‑C и отображает ее прямо в окне документации Xcode. Вы также можете размещать эту документацию на веб‑сайте.

#ml #tools
12👎2
Цикломатическая сложность в Swift

Цикломатическая сложность — количество точек принятия решений в коде. Чем больше у вас точек принятия решений — например, операторов if, switch, циклов и так далее, — тем сложнее становится ваш код. А чем сложнее код, тем труднее его понимать, тестировать и поддерживать.
В Swift для измерения цикломатической сложности разработчики могут использовать такие инструменты, как встроенный статический анализатор Xcode или инструменты сторонних разработчиков, например SwiftLint.

#tools
👍3👎31
5 essential tools and tips for every iOS developer (4 мин)

👉 Cleaner for Xcode - удалит ненужные файлы, Derived Data, кеши и подобное
👉 Rectangle: A Window Manager - управление окнами через горячие клавиши
👉 SF Symbols - большое разнообразие иконок
👉 Sigma - генерирует SwiftUI верстку из макетов Figma
👉 Amphetamine не дает "заснуть" вашему макбуку, когда не нужно

Наиболее интересные советы для разработчиков:
👉 Предотвращаем опечатки в Xcode через Edit > Format > Spelling and Grammar > Check Spelling While Typing
👉 Включить code completion с опциональными параметрами с помощью Option ⌥ + return 

#tools #лайфхаки
👍7👎1
Безопасная локализация строк в iOS: Localinter (11 мин)

Localinter - open source линтер (Github), используемый в "Пункт Ozon". Простой скриптовый Swift, не требующий подключения внешних библиотек или зависимостей, подключается и настраивается очень просто. 
Localinter может работать в связке, например со SwiftGen. Без него он тоже может использоваться и будет решать те же задачи, но мы и так используем SwiftGen для других целей.
Localinter анализирует исходники с помощью регулярных выражений и проверяет ресурсные строки на наличие контента, его корректность и названия строк.

#tools
👍6👎1
ETTrace: надежное профилирование в iOS с Flame Charts (5 мин)

ETTrace - это фреймворк с открытым исходным кодом, написанный на Objective-C, и CLI (интерфейс командной строки) на Swift, который профилирует и визуализирует данные полностью локально. Он создан чтобы быть простым и быстрым: просто подключите фреймворк к вашему приложению, запустите ettrace для начала профилирования и остановите, чтобы мгновенно увидеть flame-граф. Перезапускать приложение не надо, как и блуждать по долгим меню, чтобы увидеть результат.

#tools
👍2👎2😁1🤔1