Бета-версии iOS 9 и WatchOS 2 для разработчиков
Опубликовано: 2022-03-11Вышла последняя мобильная ОС Apple, и если вы разработчик iOS, вот что вам нужно знать. Изменения в iOS 9.x не просто поверхностны, хотя отсутствие тщательного редизайна может привести случайного наблюдателя к выводу, что это небольшое обновление. Это эволюционный шаг, в iOS 9.x нет ничего революционного, но в ней есть несколько новых функций.
Мы уже рассказывали о 3D Touch, который появится в обновленных iPhone 6S-серии, но это только одна функция iOS 9.x, о которой стоит упомянуть. Новое обновление также содержит множество настроек, ориентированных на планшеты, что понятно, учитывая решение Apple выпустить большой iPad Pro с упором на производительность. Многозадачность для iPad скоро станет намного лучше, так как она будет включать режимы разделенного просмотра, слайд-овера и «картинка в картинке».
Разработчики Android и Microsoft могут сказать, что их платформы уже имеют такую функциональность, и они будут правы: Apple опоздала на вечеринку, а iOS годами отставала от Android в многозадачности.
Однако, в дополнение к приложениям для многозадачности и повышения производительности, iOS 9.x также может похвастаться рядом функций, разработанных с учетом потребления контента. Apple доработала SceneKit, SpriteKit и Metal, позволив разработчикам игр для iOS использовать некоторые дополнительные функции и делать игры еще более сложными. Поиск получает обновление с улучшенной индексацией контента, историей и веб-разметкой.
Да, и давайте не будем забывать о 3D Touch, который является маркетинговым ходом Apple для Force Touch. Я уже подробно освещал эту тему, когда анонсировали iOS 9, и если вы пропустили, то вам нужно это проверить, потому что я не вижу смысла повторяться и добавлять ерунду в новый пост.
Итак, на чем мы должны сосредоточиться на этот раз?
Многозадачность в iOS 9
Я думаю, что многозадачность была бы хорошей отправной точкой, просто чтобы убрать ее с дороги и позволить разработчикам Android написать несколько снисходительных комментариев, не прокручивая весь пост.
Apple добавила три разных режима многозадачности в iOS9:
- Разделенный вид
- Скользить по
- Картинка в картинке (PiP)
Разделенный вид — знакомая концепция. Оба приложения сосуществуют бок о бок, почти так же, как Windows 8.x и некоторые планшеты на базе Android (Samsung). Пользователи могут перетаскивать приложения и устанавливать размер своего квази-окна, например, размещая полосу Skype рядом с браузером.
Режим Slide Over аналогичен режиму Split View, но отображает второе приложение в вызванном пользователем наложении в правой части экрана, что позволяет пользователю быстро выбрать приложение и взаимодействовать с ним. Приложения отображаются в виде вертикальной полосы, похожей на переключатель приложений в Android 4.x.
Картинка в картинке, обычно используемая для видео, позволяет пользователям просматривать приложение в небольшом кадре. Например, если вы смотрите телепередачу и получаете сообщение Skype, вы можете ответить, сохраняя видео в кадре PiP.
Все три режима можно использовать одновременно, поэтому у вас может быть кадр «картинка в картинке», когда ваш iPad отображает два приложения в режиме разделенного просмотра.
Apple призывает разработчиков использовать слайд-шоу и разделенное представление, если у них нет особой причины этого не делать. Приложения камеры и полнофункциональные приложения для устройств, такие как игры, указаны в качестве исключений. Что касается PiP, то оно предназначено для видеоприложений, и от него можно отказаться, даже если у вас есть видеоприложение, но поддерживать PiP необязательно.
Я также должен отметить, что каждый шаблон приложения iOS в Xcode 7 теперь предварительно настроен для поддержки слайдов и разделенного просмотра. Есть еще одно предостережение: разделенный вид не поддерживается на большинстве iPad. Фактически, он доступен только на iPad Air 2 и iPad Pro, в то время как слайд-овер появится на Air первого поколения, а также на iPad Mini 2 и Mini 3.
Еще одна проблема, которая может вызвать головную боль у разработчиков iOS, — это макет и масштабирование. До сих пор все iPad имели дисплеи с соотношением сторон 4:3, поэтому дизайнеры привыкли работать на холсте с соотношением сторон 4:3. Будут ли все устаревшие приложения правильно отображаться в режиме разделенного просмотра? Это зависит от ряда факторов, поэтому было бы самонадеянно отвечать на этот вопрос. Тем не менее, об этом следует помнить, если у вас есть много приложений для iPad.
Apple уже опубликовала необходимую информацию о новых режимах многозадачности, поэтому вам обязательно стоит заглянуть в официальную библиотеку разработчиков iOS.
iOS 9.1 и 9.2 Beta, внедрение на рынке
Apple выпустила iOS 9.1 примерно месяц назад, а бета-версия iOS 9.2 уже доступна для загрузки через программу бета-тестирования Apple. Обе версии являются незначительными обновлениями.
Фактически, iOS 9.1 была третьим обновлением iOS 9 на данный момент. Он представил поддержку Unicode 7 и 8, а также ряд новых смайликов (включая единорога). Xcode дошел до версии 7.1, и некоторые компоненты Apple TV также были обновлены. Также были реализованы незначительные настройки камеры, такие как обновление живых фотографий, которое использует информацию датчика, чтобы выяснить, когда устройство опущено, чтобы остановить запись видео.
Бета-версия iOS 9.2 доступна уже около недели, и это еще одно добавочное обновление. Он включает некоторые изменения в Safari, добавляет поддержку арабского языка для Siri и включает поддержку системы NumberSync от AT&T. Ничего особенного с точки зрения разработчика.
Через несколько недель после начала выпуска iOS 9 Apple заявила, что новая мобильная ОС демонстрирует самый быстрый темп внедрения среди всех версий iOS. К концу сентября более 50% устройств iOS были обновлены до iOS 9. При этом многие старые устройства не получат обновление, но все пользователи iPhone или iPad, купленные за последние четыре года, должны быть в порядке. Пользователи старых добрых iPhone 4 и iPad первого поколения не получат iOS 9.
Быстрое внедрение остается козырной картой Apple. Когда Google выпускает новую версию Android, ее партнерам по оборудованию обычно требуются месяцы, чтобы выпустить обновления для своих устройств, и многие устройства небольших брендов не обновляются.
WatchOS 2 приносит множество потребительских улучшений
В то время как iOS 9.x можно рассматривать как постепенное эволюционное обновление, WatchOS 2 вряд ли можно назвать поверхностным обновлением. Новая ОС позволяет Apple Watch делать намного больше, открывая новые возможности для разработчиков. Тем не менее, это не меняет правила игры при любом натяжении воображения.
Большинство изменений ориентированы на потребителя, поэтому WatchOS 2 включает множество обновлений приложений. Например, теперь часы можно использовать для отправки текстов и аудиофайлов через Facebook Messenger, iTranslate позволит пользователям быстро переводить речь, а новое приложение Airstrip предназначено для медицинских целей. Поддержка Siri также была расширена, наряду с новой функцией Time Travel, которая позволяет пользователям проверять погоду и встречи. Музыкальный интерфейс был переработан. Теперь пользователи могут отвечать на электронные письма голосовой диктовкой, а когда пора ложиться спать, часы можно перевести в ночной режим.
Apple Watch теперь подключаются к сетям Wi-Fi без iPhone; ему не нужен трос. Google уже реализовал эту функцию в Android Wear несколько месяцев назад, поэтому неудивительно, что Apple добавляет ее.
Apple также изменила эстетику с помощью ряда новых циферблатов (и переработанных), дополнительных усложнений и новых способов их настройки и организации. Новые настройки дисплея, благодаря которым изображение на экране продлится дольше, до 70 секунд.
Честно говоря, я не нахожу большинство этих обновлений очень захватывающими, а некоторые из них можно назвать откровенно бесполезными.
WatchOS 2 для разработчиков
Хотя обновление не принесет потребителям много новых функций, оно откроет новые возможности для разработчиков. Большая новость заключается в том, что WatchOS 2 позволяет получить доступ к большему количеству датчиков и других аппаратных компонентов.
Теперь разработчики смогут использовать Digital Crown не только для масштабирования; корону можно использовать для прокрутки контента, уведомлений и так далее. Проблема в том, что очень немногие приложения будут использовать эти новые функции короны; потребуется некоторое время, прежде чем они будут обновлены для их поддержки. С другой стороны, весь смысл предоставления более глубокого доступа к различным компонентам заключается в том, чтобы заставить разработчиков создавать нативные приложения для Apple Watch.

Помимо новых цифровых элементов управления заводной головкой, сторонние приложения также могут получить доступ к микрофону и акселерометру.
Так что насчет осложнений? С точки зрения разработчика, возможность создавать, управлять и настраивать новые усложнения может быть одним из самых больших обновлений. Новая платформа ClockKit.framework
используется для управления сложностями, связанными с приложениями Apple Watch. Платформа позволяет разработчикам использовать различные источники данных для осложнений, а затем настраивать внешний вид, чтобы обеспечить хорошее соответствие с приложением. Все делается с использованием разных классов ClockKit.framework
, и вы можете ознакомиться с официальным справочником по платформе Apple ClockKit для получения дополнительной информации.
Эти изменения могут показаться незначительными, но в конечном итоге они могут изменить то, как пользователи взаимодействуют со своими устройствами Watch OS. Они также могут создавать новые варианты использования и мотивировать больше разработчиков создавать нативные приложения для платформы.
Новая архитектура WatchOS
Изменения в WatchOS 2 не являются поверхностными. Apple переработала архитектуру WatchOS, но хорошая новость заключается в том, что изменения не должны создать много проблем для разработчиков.
В первой версии WatchOS расширение WatchKit работало на iPhone пользователя, но в WatchOS 2 оно работает на Apple Watch. Apple заявляет, что перенос расширения на часы делает связь между приложением Watch и расширением «намного быстрее» и позволяет приложению работать, когда iPhone пользователя недоступен. Помните тот непривязанный доступ к Wi-Fi, о котором я упоминал ранее? Ну, это одна из вещей, которая делает это возможным. Это также важно для расширения функциональности осложнений.
Тот факт, что расширение WatchKit было перенесено на Apple Watch, не влияет на его функциональность. Apple отмечает, что «разделение труда» между приложением Watch и расширением WatchKit остается неизменным в WatchOS 2.
Приложение по-прежнему содержит раскадровки, которые определяют экраны, которые приложение использует для представления информации, в то время как расширение WKInterfaceController
для управления указанными экранами. Все взаимодействия по-прежнему обрабатываются фреймворком WatchKit.
Apple отмечает, что в большинстве случаев существующий код расширения WatchKit должен работать в WatchOS 2. Однако решение перенести расширения WatchKit на часы изменит способ разработки приложений. Расширения будут реализованы с использованием фреймворков WatchOS SDK вместо iOS SDK. Однако для функций, не поддерживаемых в рамках WatchOS, разработчикам все равно придется полагаться на приложение для iOS. Это также означает, что данные обычно хранятся на часах Apple Watch, но если приложению потребуются данные из сопутствующего приложения на устройстве iOS, оно получит их по беспроводной сети и передаст на Apple Watch. Разработчики не смогут использовать общий групповой контейнер для обмена файлами с приложением iOS.
Миграция на WatchOS 2
Также стоит отметить, что разработчикам пока не нужно переходить на WatchOS 2, хотя Apple указывает, что многие функции будут недоступны, если разработчики решат, что это не стоит заморочек. Некоторые архитектурные изменения, описанные выше, могут быть необходимы, но работа может окупиться в определенных сценариях.
Apple указывает на три основных вопроса, которые разработчики должны задать себе, прежде чем решить, стоит ли перенос существующего приложения на WatchOS 2.
- Нужно ли разработчику поддерживать более ранние версии Apple Watch?
- Сильно ли приложение использует технологии iCloud?
- Использует ли приложение для часов данные из сопутствующего приложения для iOS?
Можно доставить приложение Apple Watch в двух версиях, для WatchOS 1 и WatchOS 2, используя один и тот же пакет приложений для iOS. В результате архитектурных изменений приложение WatchOS 2 необходимо перекомпилировать в отдельный исполняемый файл. Apple отмечает, что совместное использование кода может потребовать больше усилий и создать большую сложность, чем два совершенно отдельных приложения.
Поскольку расширение WatchKit в WatchOS 2 работает на Apple Watch, оно больше не имеет прямого доступа к технологиям iCloud. Все операции, связанные с iCloud, должны выполняться сопутствующим приложением iOS. Затем данные отправляются в расширение WatchKit по беспроводной сети, поэтому разработчикам, вероятно, придется изменить способ управления и синхронизации данных между двумя устройствами.
В связи с новой архитектурой изменилось и взаимодействие с приложением-компаньоном iOS. Если приложению требуются данные из приложения iOS, разработчики должны явным образом передать необходимые файлы с устройства iOS на устройство WatchOS. Данные должны управляться локально в обоих местах, и разработчики должны помнить, что резервное копирование данных на Apple Watch не выполняется автоматически. Его необходимо отправить обратно на устройство iOS для резервного копирования.
Заворачивать
Мы рассмотрели iOS 9 в нескольких постах, поэтому на этот раз я решил сосредоточиться на новых возможностях многозадачности и бета-версиях. Я нахожу аспект многозадачности интересным из-за решения Apple выпустить iPad Pro, который получил отличные отзывы.
В отличие от iPad и iPad mini, версия Pro более амбициозна. Он предназначен для потребления контента и создания контента, в то время как старые добрые 9,7-дюймовые и 7,9-дюймовые iPad в основном используются для потребления контента. Улучшенная многозадачность жизненно важна для продукта с «профессиональными» устремлениями. Вам не нужна отличная поддержка многозадачности во время просмотра IMDB или случайной игры, но если вам нужно отредактировать несколько документов, настроить несколько эскизов и Skype одновременно, первоклассная поддержка многозадачности просто необходима.
С iPad Pro Apple стремится занять новую нишу для iOS. Операционная система достаточно зрелая, чтобы ее можно было использовать в бизнесе, а с новым процессором A9X на базе ARM у Apple есть мощная аппаратная платформа для его работы. Конечно, Apple не одинока в этом вопросе, и можно утверждать, что iPad Pro был «вдохновлен» планшетом Microsoft Surface Pro. Apple решила использовать свою мобильную ОС для iPad Pro, оставив OS X зарезервированной для MacBook. Microsoft отказалась от Windows RT (Windows для ARM) и отошла от процессоров ARM.
Тем не менее, новейшие 14-нм процессоры Intel Core M и Cherry Trail чрезвычайно энергоэффективны, и у меня была возможность опробовать их в нескольких системах Windows начального и среднего уровня (от 150 до 500 долларов). Все, что я могу сказать: не стоит их недооценивать . Новое аппаратное обеспечение Intel превосходно, Windows 10 — смешанный пакет (по крайней мере, на мой взгляд), но цены будут чрезвычайно конкурентоспособными.
Что касается WatchOS 2, то это несколько большее обновление по сравнению с iOS 9.x. Тем не менее, я удивлен решением Apple изменить базовую архитектуру, стоящую за ней, на столь раннем этапе игры. Apple Watch находились в разработке в течение довольно долгого времени, и на несколько кварталов они опередили на рынке часы Android Wear.
Собственно, я не ожидал архитектурных изменений во второй итерации носимой ОС от Apple. Возможно, у меня нереалистичные ожидания, но когда технологический гигант стоимостью 600 миллиардов долларов выпускает продукт через несколько месяцев после своих конкурентов, я не ожидаю, что он вернется к чертежной доске через несколько месяцев. Отвязанный WiFi, расширение WatchKit работает на Apple Watch? Они могли и должны были быть включены в WatchOS 1.
Возможно, именно поэтому многие сторонние приложения не работали должным образом при запуске Apple Watch.