Дуют ветры в феврале. Увлекательнейший замес произошел на неделе вокруг приложения Facebook и Google, суть которых была в открытом сборе всевозможных данных пользователя. Всё по согласию и даже за вознаграждение, но есть нюанс: распространялись приложения через Enterprise-сертификат. Apple проявила твёрдость, не сделала исключения и забанила Enterprise-сертификаты Facebook и Google. Как понимаете, полегли всякие внутренние инструменты и приложения. В Facebook 35000 сотрудников. В Google — 94000. Вроде как кризис миновал: «ужасные» приложения удалены, сертификаты восстановлены, но иллюстрация на тему «кто здесь папа» яркая. Эх, интересно было бы увидеть, что творилось внутри FB и Google в прошедшие сутки.
Какие ещё новости. Саша Чёрный и Руслан Гуменный когда-то заложили фундамент и 4 полных года строили дайджест. Пора попробовать что-то ещё. С новым регулярным составом Дорогой редакции вы уже знакомы. Пять месяцев они равноправно делали дайджест. Нагрузочное тестирование закончено. Можно катить на прод. А Саша и Руслан говорят: «До новых встреч».
FaceTime Glitch
Про уязвимость в FaceTime слышали уже все. Впрочем, оказывается, Apple знала об этом с середины января, а уязвимость вообще нашёл школьник.
ILP32 support for AArch64
Можно было бы предположить, что глобальные архитектурные изменения в LLVM — процесс долгий и неблагодарный. Оказывается, нет.
Writing apps in Go and Swift
Если ваш сервер написан на Go, можно изредка писать на Go внутри приложения на Swift. Говорят, намного удобнее.
Exploiting MIG reference counting in iOS 12
Пример поиска довольно распространённой уязвимости в iOS 12, которая даёт злоумышленнику доступ к записи и чтению памяти ядра.
googleprojectzero.blogspot.com
Debugging Tips&Tricks
Немного полезных советов на тему отладки.
Adding Undo and Redo support to iOS
Иногда, случайно встряхнув телефон, вы видите сообщение с предупреждением «Отменить [что-то]». В статье рассказывается, как реализовать Undo и Redo в iOS.
Creating DSL in Swift
Если вам вдруг захотелось встроить язык программирования в язык программирования, то почему бы и нет? Особенно, если это так же легко, как в Swift.
How to use the result type to handle errors in Swift 5?
В Swift 5 появится Result-тип. Из этой статьи вы узнаете, как с его помощью отлавливать и обрабатывать ошибки.
Testing error code paths in Swift
Мысли о том, как можно использовать unit-тесты не только для проверки правильности результатов, но и для проверки правильности ошибок, которые может вызвать код.
A crash course in Augmented Reality on iOS with ARKit
Хотите попробовать себя в AR-разработке, но не знаете, с какой стороны к ней подойти? Автор рассказывает о базовых концепциях трекинга, рендеринга и показывает, как это реализовать на простом примере.
Debugging iOS network traffic
Альтернатива платному Charles для отладки сетевых запросов.
LayoutInspector
Рубрика «Нам пишут». Игорь сделал тул для отладки UI прямо на устройстве. Ну, а что. Вьюхи в 3D прямо на твоём iPhone.
Humans not users
Дизайн пользовательских интерфейсов направлен на улучшение жизни пользователей, а должен в первую очередь думать о людях. Автор статьи рассказывает, что мы можем сделать лучше.
CocoaHeads
Москва, 8 февраля, пятница, 19:00, офис Mail.Ru Group. Андрей Володин, Prisma, расскажет про то, как он провёл праздники, и почему в итоге шейдеры начали энкодить себя. Николай Лихогруд, Яндекс.Карты, поделится успешной историей модуляризации приложения. Дмитрий Сизиков, Pandao, покажет, как они отправляли пуши без авторизации пользователем и что из этого вышло.
Apple’s New Trippy “Full Circle” Video Was Shot On 32 iPhone XRs Mounted On A Circular Rig
Эксперимент со съёмкой на iPhone XR. Горящий шар, капли — да неважно. Красиво.
Phased vs Regular update adoption rates
А как вы выкладываете свои приложения? Отличное напоминание о том, что не только Play Store поддерживает фазовые релизы.
Missing Guide on Swift Code Style
Небольшой материал об организации и структурировании кода. Внутри найдёте ссылки на гайд от Google и LinkedIn.