Логи в iOS, эпизод 1: os_log
Console.app - специальное приложение для логов, встроенное в MacOS. Для поиска логов по приложению, в правом верхнем углу введите название приложения. В фильтрах указываем Library, тип матчинга Equals.
В Console.app не будут попадать принты. Их нужно заменить на os_log(), с уровнем логгирования, отличным от .debug. По уровню также можно настраивать фильтры. На скрине пример логирования с указанием модуля, файла и строчки.
#tools
Console.app - специальное приложение для логов, встроенное в MacOS. Для поиска логов по приложению, в правом верхнем углу введите название приложения. В фильтрах указываем Library, тип матчинга Equals.
В Console.app не будут попадать принты. Их нужно заменить на os_log(), с уровнем логгирования, отличным от .debug. По уровню также можно настраивать фильтры. На скрине пример логирования с указанием модуля, файла и строчки.
#tools
👍3👎1
Integrate SwiftLint to the iOS project
Чтобы добавить SwiftLint к себе в проект нужно всего лишь...
👉 Добавить в Podfile: pod 'SwiftLint'
👉 Build Phases (Linting): ${PODS_ROOT}/SwiftLint/swiftlint
👉 Добавить правила в .swiftlint.yml
#tools
Чтобы добавить SwiftLint к себе в проект нужно всего лишь...
👉
👉
#tools
😁5👎1🤩1
Логи в iOS, эпизод 2: os_signpost
Связка
#tools
Связка
os_signpost
и Time Profiler — мощный инструмент. Вы можете замерить сколько времени у вас выполнялась те или иные расчёты, сколько раз вы сходили в сеть, а также узнать, какая модель данных дольше всего парсилась#tools
👍3👎1
Как локализовать приложение
Большой гайд по локализации. Как перевести текст, фото, дату и валюты. Обзор инструментов и автоматизаций
#Xcode #tools
Большой гайд по локализации. Как перевести текст, фото, дату и валюты. Обзор инструментов и автоматизаций
#Xcode #tools
👍3👎1
Codeface: визуализация кодовой базы
Codeface позволяет:
👉 Просматривать иерархию кода
👉 Просматривать основные зависимости между структурными элементами на каждом уровне: папками, файлами и кодовыми символами
👉 Смотреть циклические зависимости и где они находятся
👉 Смотреть размер (строк кода) каждого структурного элемента
👉 Проверять scope на всех уровнях — от папок до свойств
👉 Фильтровать все визуализации по поисковому запросу
👉 Сохранять, открывать и делиться файлами кодовой базы
👉 Добавлять поддержку языков помимо Swift при наличие LSP-сервера
Ссылка в AppStore
#tools
Codeface позволяет:
👉 Просматривать иерархию кода
👉 Просматривать основные зависимости между структурными элементами на каждом уровне: папками, файлами и кодовыми символами
👉 Смотреть циклические зависимости и где они находятся
👉 Смотреть размер (строк кода) каждого структурного элемента
👉 Проверять scope на всех уровнях — от папок до свойств
👉 Фильтровать все визуализации по поисковому запросу
👉 Сохранять, открывать и делиться файлами кодовой базы
👉 Добавлять поддержку языков помимо Swift при наличие LSP-сервера
Ссылка в AppStore
#tools
👍7👎4
Как настроить Charles
Приложение Charles Proxy - большой помощник и тестировщику, и разработчику. Для меня бывает особенно полезно, когда нужно подменить данные с бэка или подебажить приложение. Об установке, настройке и интерфейсе читайте в статье
#tools
Приложение Charles Proxy - большой помощник и тестировщику, и разработчику. Для меня бывает особенно полезно, когда нужно подменить данные с бэка или подебажить приложение. Об установке, настройке и интерфейсе читайте в статье
#tools
👍8
Советы по отладке при работе над проектами Swift
👉 Настройте свой .lldbinit. Например, чтобы поменять язык или добавить дополнительные возможности к отладчику
👉 Используйте переменные фрейма: frame variable или v для сохраненных свойств вместо po
👉 Наблюдайте за системой. Брейкпоинты могут быть использованы для многих вещей, от изменения входных данных по умолчанию в поля (например, формы входа) до использования команд отладчика для создания цепочек символических брейкпоинтов
👉 Используйте
как брейкпоинт при изменении переменной
#tools
👉 Настройте свой .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
Вышел релиз AppCode 2022.3, совместимый с macOS 13 и Xcode 14.2. Также было объявлено о завершении проекта. На 14 декабря прекращена продажа и обновление подписок AppCode.
#tools
😢15😁5👍1👎1
Создаем VIPER шаблон с помощью Generamba
Если вам не нравится тратить много времени на создание шаблонов для VIPER, можно воспользоваться Generamba.
В статье гайд о том, как все настроить.
#tools
Если вам не нравится тратить много времени на создание шаблонов для VIPER, можно воспользоваться Generamba.
В статье гайд о том, как все настроить.
#tools
👎14👍3
Более Быстрые Сборки Apple с помощью lld Linker
TL; DR: lld — отличный выбор для более быстрой компоновки отладочных двоичных файлов iOS, macOS и т.д. Он завершает работу на 50-80% быстрее, чем ld64, и сейчас используется многими крупными компаниями.
Указания в документации LLVM объясняют, как правильно его интегрировать.
#tools
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
Какие фреймворки и либы считаются топовыми в iOS разработке на 2023 год? 🤔
В статье приведен личный топ автора, и, конечно, не для всех эти либы могут стать must-have
👉 Alamofire
👉 SwiftyJSON
👉 SVProgressHud
👉 Masonry (SnapKit)
👉 MJRefresh
#tools
🤩4😢2👍1
Минимизируем человеческий фактор в Swift
Несколько инструментов, которые позволяют команде работать комфортно и эффективно:
👉 SwiftGen - менеджеринг ресурсов в приложении
👉 SwiftLint - единый code style на проекте
👉 XcodeGen - заранее решаем мердж-конфликты в проекте
В статье также есть инструкция по установке и настройке каждого из инструментов
#tools
Несколько инструментов, которые позволяют команде работать комфортно и эффективно:
👉 SwiftGen - менеджеринг ресурсов в приложении
👉 SwiftLint - единый code style на проекте
👉 XcodeGen - заранее решаем мердж-конфликты в проекте
В статье также есть инструкция по установке и настройке каждого из инструментов
#tools
👍9