Apple активно занимается подготовкой к предстоящему сентябрьскому ивенту. Представителям прессы высылаются приглашения, а бета-версия iOS получает новое минорное обновление до версии 13.1. Мы же, тем временем, провожаем последние дни лета, наслаждаемся солнечными лучами и шашлыком, откладываем деньги на новое поколение телефонов и продолжаем постигать азы SwiftUI.
Apple Invites Media to September 10 Event at Apple Park
Чуть больше чем через неделю — новый iPhone и релиз iOS. Готовы?
iOS & iPadOS 13.1 Beta Release Notes
Новая бета-версия ОС для iPhone и iPad обзавелась минорным обновлением. Некоторые функции, ранее удалённые из iOS 13.0 перекочевали в новый релиз, обновлены аудио и сетевые фреймворки, а из SwiftUI удалены API, ранее помеченные как Depricated.
Optimize Swift build and compile times in Xcode
Подборка советов по оптимизации времени сборки в Xcode.
Caching in Swift
Подробно описано создание обёртки на Swift над NSCache для хранения данных. в оперативной памяти или на диске с контролем времени хранения и сериализацией объектов.
Custom UIHostingController
UIHostingController можно задействовать для внедрения SwifUI элементов в существующее приложение, написанное с использованием UIKit. Автор показывает, как это реализовать и какие ограничения при этом существуют.
Composable styling in SwiftUI
SwiftUI предоставляет средства для достаточно простой стилизации UI-элементов приложения. В материале это показано на примере кнопок, текстовых полей и цветовых атрибутов.
Swift Combine Framework Tutorial: Getting Started
Publisher, Subscriber, Subject — с этими сущностями фреймворка Combine в скором времени придётся активно работать и понимать, как они используются и для чего. Если ещё не знакомы с этими понятиями или не до конца понимаете концепцию этой библиотеки, читайте статью.
Struct vs classes in Swift: The differences explained
Очередная статья про различие между классами и структурами в Swift. Никаких откровений в ней не найдёте, так что, если хорошо понимаете разницу, можете спокойно пропускать.
Identifiable
Identifiable — ещё один новый протокол в Swift 5.1, который помогает идентифицировать сущности, поддерживающие его по ID. Пока что от его реализации вы не получите ощутимых преимуществ, но в дальнейшем он может помочь, например, в нахождении дифов для коллекций. Также рассматриваются его отличия от протоколов Equatable и Hashable и то, какие классы можно использовать в качестве идентификаторов.
Using Xcode’s visual debugger and Instruments’ modules to prevent memory overuse
Как использовать Visual Debugger, memgraph и leaks для анализа и поиска утечек памяти в приложении.
Github Actions CI for Swift Projects
GitHub Actions — один из способов автоматизации процесса сборки, тестирования и развёртывания проекта. Публичный релиз намечается в ноябре, а пока можете ознакомиться с работой системы в действии.
How We Manage a Million Push Notifications an Hour
Gojek рассылают в час миллион уведомлений. По ссылке — лаконичное описание архитектуры и выводы.
A very deep dive into iOS Exploit chains found in the wild
На фоне очередных уязвимостей в iOS — очень подробная статья об истории последних проблем с мобильной безопасностью, начиная с iOS 10.
googleprojectzero.blogspot.com
Starting your own blog
Хотите начать вести свой блог, посвящённый iOS-разработке? В статье найдёте ответы на самые популярные вопросы, ссылки на необходимые инструменты и способы раскрутки.