Предзаказ новых айфонов уже идёт, часы заказаны и в пути, а большинство зрителей той-самой-презентации по факту разочарованы: Apple Tag так и не анонсировали (хотя и тонко намекнули), Apple Watch тоньше не стали, iPhone как не поддерживал 5G, так и не поддерживает. В твиттере жалеют о потерянном времени, но всё равно восхищаются промороликами. В любом случае, кажется, пора смириться, что смартфон — это просто смартфон. It just works, как сказал когда-то Стив Джобс. Не стоит ожидать чего-то невообразимого от презентации смартфона, как минимум потому, что Apple однажды уже всех им поразили, а во второй раз им это вряд ли удастся.
How Apple’s Apps Topped Rivals in the App Store It Controls
Вот так должна выглядеть журналистика в 21 веке. Визуально насыщенная история о том, как Apple боролась с конкурентами, подмешивая собственные приложения в результатах поиска.
Building a server-client application using Apple’s Network Framework
Достаточно подробный материал о доступных сетевых API, которые используются Apple, и туториал по созданию клиент-серверного приложения с использованием самого свежего из них — NWFramework.
Allowing users to manage their Siri Shortcuts in your app
В 2018 году Apple представила приложение Siri Shortcuts, позволяющее автоматизировать действия пользователя. В этом туториале вы научитесь создавать, редактировать и загружать шорткаты из вашего приложения.
Accessibility in SwiftUI
Не все пользователи вашего приложения обладают равными возможностями для работы с ним, у кого-то может быть ослаблено зрение, а у кого-то слух. SwiftUI позволяет облегчить работу этой категории людей, почему бы не сделать мир чуточку лучше и удобнее для всех?
Unit Testing Best Practices on iOS with Swift
Небольшой набор полезных советов для улучшения Unit-тестов в вашем приложении, касающийся инициализации данных, функций с сайд-эффектами, моков и ассертов.
Replicating Facebook’s Draggable Bottom Card using Auto Layout
Мы уже писали про разные способы воссоздания новых модальных панелей в iOS (включая библиотеку от Slack). Вот ещё один пример, в этот раз на основе AutoLayout.
Reducers in Swift
Помимо разнообразных map’ов, фильтров и сортировок для работы с коллекциями можно применять метод reduce(). Из статьи вы узнаете о том, для чего его можно применять и, собственно, как его использовать.
CachyKit
Новенькая библиотека для кэширования изображений, архивов, JSON и любых других объектов с возможностью указания даты окончания и принудительным обновлением. Не буду советовать интегрировать этот код в «боевой» проект, но можно ознакомиться с реализацией и разобраться, как создаются подобные фреймворки, пока он не оброс десятками тысяч строк кода.
Clippy
Триумфальное возвращение скрепки из Microsoft Office на macOS. Исходники доступны, так что можно творить с ней любые непотребства.
Picking your minimum iOS version to support
После релиза iOS 13 можно задуматься о прекращении поддержки более старых операционных систем. До какой версии поднимать минимально поддерживаемую версию, какие преимущества это может дать и какая статистика может помочь вам в принятии решения — всё это найдете в статье.
The Last Apple Keynote
Если вам тоже было скучно во время презентации, разделите мнение единомышленника. В это колонке от NYTimes — боль и эмоции редактора.
How Safari and iMessage have made iPhones less secure
Apple всегда заботилась о безопасности пользователей и ограничивали разработчиков всеми средствами. Видимо, при этом они слишком доверяли собственному коду, и из-за этого система обзавелась множество проблем.