iOS дайджест #22: аналитика на Swift, design tools, разбор уязвимости с пустым паролем для Root пользователя
В выпуске: сравнение юникодных String и NSString, Xcode unit tests with ⌘+S, как устроены процессы в Яндексе, подборка хаков из твиттера.
Статьи
Key difference between Dictionary and NSDictionary
Интересная особенность, как сравниваются юникодные String и NSString и какие из-за этого могут быть баги.
Why <blank> Gets You Root
Разбор недавней уязвимости с пустым паролем для рута.
Coordinator and FlowController
Очередной лонгрид про координаторы. Кто еще не использовал — самое время.
Swift Analytics
Краткий разбор подходов к аналике от Chris Eidhof. Советую ознакомиться со всеми подходами, описанными в начале.
Hacks
Пост в Twitter Rick Ballard
Xcode Build System работает над тем, чтобы улучшить компиляцию свифта, вот только с документацией у них не очень получается.
Stop Xcode from constantly rebuilding your project because of @IBDesignable
Наверное, каждый, кто пытался сделать IBDesignable view, сталкивался с тем, что Xcode начинает бесконечно билдить проект. Оказывается, это можно отключить.
Optimizing Swift build times
Советы, как оптимизировать скорость компиляции свифта. Ключи -Xfrontend -warn-long-function-bodies
и -Xfrontend -warn-long-expression-type-checking
уже просто must-have для свифтовых проектов.
A Quick Tip For String Performance
Интересный хак, как улучшить производительность при работе со строками на 18%.
Best iOS hacks from Twitter: November Edition
Набор хаков из твиттера. Коротко и по делу.
Changing Xcode Header Comment
В Xcode 9 теперь легко можно поменять заголовок файла, который генерируется по умолчанию.
Tools
Hyperion-iOS
Очень интересный тул, с помощью которого можно измерить расстояние между объектами, посмотреть их размеры, атрибуты текста прям в приложении. Такой себе встроенный Zeplin.
stylesync
Еще один инструмент, который помогает при работе с дизайном. Генерирует Swift файлы со стилями, цветами и прочим из Sketch.
Getting Started with Fastlane.swift
Fastlane переходит на Swift. Пока в бете, но скоро можно будет писать конфигурации на Swift и не гуглить «как же это сделать на Ruby».
Xcode unit tests with ⌘+S
Сохраняешь файл и сразу прогоняются все тесты, которые с ним связаны. Магия да и только.
Видео
Конец года выдался очень насыщенным на iOS митапы и организаторы оперативно выкладывают видео, за что им отдельная благодарность.
Avito iOS Winter Edition
Data-driven подход, как прокачать lldb, что такое Mach-O и dSYM, и архитектуры, куда же без них.
Яндекс изнутри: глазами iOS-разработчика
Яндекс рассказали про структуры команд, о том, как у них устроены процессы, код ревью, взаимодействие между командами, шаринг знаний. Немного рассказали про подходы, примененные при разработке Алисы (голосовой помощник). И в конце уже полюбившийся на русскоязычных конференциях формат панельной дискуссии.
CocoaHeads Санкт-Петербург
Проблемы AutoLayout, библиотеки для работы с layout, как разрабатывали CocoaHeads приложение и также небольшая панельная дискуссия.
CocoaHeads Москва
Адаптация под iPhone X, блокчейн, Copy on Write в Swift, а также занимательный нетехнический доклад про сомнения и заблуждения в карьере программиста. И опять же панельная дискуссия.
Moscow Meetup CocoaHeads
Особенности работы с GPU, распределенная сборка IPA и уже излюбленный рассказ от ребят из Яндекса про оптимизацию запуска iOS приложений.
From iOS to Vapor developer
Интересное сравнение того, как привычные вещи для iOS разработчика сделать на бекенде с применением Vapor. Must-have для тех, кто боится, но хочет начать писать бекенд на Swift.
CocoaHeads Ukraine
Буквально неделю назад прошла последняя сходка в этом году. Если вы вдруг пропустили, то в твиттере можно почитать ключевые моменты. Также отдельного внимания заслуживают видео с прошлых сходок, особенно Александра Корина, Дмитрия Вороны и Джона Санделла.
← Предыдущий выпуск: iOS дайджест #21