Статьи

Что нового для разработчиков в iOS 12 и Xcode 10?

Конечный продукт
Что вы будете создавать

Среди всей фанфары другого WWDC, Apple представила нам iOS 12. Это один из наиболее ориентированных релизов как для потребителей, так и для разработчиков, в котором особое внимание уделяется оптимизации производительности. Помимо этого внимания к производительности и оптимизации, iOS также содержит некоторые итерации функций для многих библиотек, которые мы знаем и любим. Это включает в себя эволюцию смайликов (с мемо-джи), ярлыков Siri, дополненной реальности и машинного обучения.

Для разработчиков Apple сосредоточилась на том, чтобы предоставить своему сообществу множество новых инструментов и SDK для поддержки приложений iOS следующего поколения. Разработчики также получили много улучшений в Xcode, а новейшие фреймворки Apple — ARKit, Core ML и SiriKit — получили значительные обновления функций.

Основной процесс ML ML

Машинное обучение быстро развивалось с тех пор, как оно было впервые введено в 2017 году, и Core ML 2 облегчает разработчикам, проектировщикам и тестированию модели. ARKit 2 , вторая версия Apple своей библиотеки дополненной реальности, является еще одной библиотекой, которая значительно улучшилась в этом году благодаря трем выдающимся новым функциям:

  • обмен опытом, позволяющий многопользовательские AR опыт
  • постоянный опыт, который позволяет сохранять и восстанавливать состояния
  • Обнаружение 3D-объектов в дополнение к 2D-отслеживанию движущихся изображений.

Apple также улучшила уведомления , добавив возможность группировать уведомления по приоритетам и назначать им приоритеты по контексту, и создала новую платформу автоматического заполнения паролем для интеграции сторонних приложений для управления паролями.

Siri Shortcuts — это дополнение Apple к SiriKit, позволяющее сторонним разработчикам интегрировать настраиваемые интеллектуальные сочетания клавиш в поиск прожекторов и экран блокировки, а также использовать свой голос для вызова и выполнения этого настраиваемого действия.

Xcode 10 также вводит целый ряд улучшений, от темного режима до редактирования с несколькими курсорами , новых визуальных элементов управления исходным кодом в редакторе исходного кода и совершенно новой системы сборки. Xcode 10 также поддерживает параллельное тестирование, значительно сокращая время на выполнение тестов.

В этой статье вы узнаете все о новых изменениях, которые появятся в iOS 12 для разработчиков. Мы будем освещать следующее:

  • машинное обучение с Core ML 2 и фреймворком Natural Language
  • дополненная реальность с ARKit 2
  • интерактивные уведомления
  • Siri ярлыки с SiriKit
  • Услуги аутентификации и автозаполнение пароля
  • Xcode 10
  • другие изменения

Машинное обучение , представленное в iOS 11, в этом году не просто эволюционировало, но достигло огромных успехов в направлении массового машинного обучения. Следующая итерация Core ML версии 2 в соответствии с темой производительности и скорости теперь на 30% быстрее, а размеры моделей ИИ уменьшены на 75%. Что еще более важно, Apple значительно упростила библиотеки и инструменты, чтобы каждому было проще адаптироваться без предварительной математики или машинного обучения.

Core ML продемонстрировал большой потенциал, когда впервые появился, но он не был принят широким сообществом разработчиков iOS. Однако, с появлением в этом году Create ML (среды macOS), любой желающий может с легкостью создавать модели Core ML для использования в своих приложениях. Эта новая платформа интегрируется с игровыми площадками в новом Xcode, чтобы вы могли визуально взаимодействовать с рабочими процессами создания модели в режиме реального времени, просто добавив несколько строк кода Swift.

Помимо поддержки обширного глубокого обучения с более чем 30 типами слоев, он также поддерживает стандартные модели, такие как древовидные ансамбли, SVM и обобщенные линейные модели…. Поскольку ядро ​​ML основано на низкоуровневых технологиях, таких как Metal и Accelerate, оно эффективно использует преимущества процессора и графического процессора для обеспечения максимальной производительности и эффективности. (WWDC)

Многие из продуктов Apple уже используют преимущества Core ML 2, в том числе Siri и Camera, благодаря своему компьютерному видению и совершенно новой среде Natural Language . Платформа Natural Language , новая для iOS 12, поддерживает анализ текста на естественном языке для определения конкретных метаданных и используется вместе с Create ML при обучении и развертывании пользовательских моделей обработки естественного языка. Для получения дополнительной информации о создании и запуске моделей Core ML обратитесь к следующим двум справочным документам Apple:

ARKit, также впервые анонсированный в прошлом году, завоевал известность на сцене WWDC этого года, а ARKit 2 сразу захватил воображение потребителей и инженеров благодаря трем выдающимся новым функциям:

  • поделился опытом AR
  • постоянный опыт AR
  • Возможности обнаружения 3D объектов

Демонстрируемый в прямом эфире на основной конференции WWDC в этом году, общий опыт AR позволяет вам одновременно использовать несколько вариантов использования в дополненной реальности. Другими словами, теперь вы можете быстро создавать многопользовательские игры с дополненной реальностью, в которых могут играть не только несколько пользователей, но даже сторонние наблюдатели, наблюдающие за тем же опытом.

Многопользовательская дополненная реальность

Постоянный опыт AR позволяет разработчикам реализовывать функциональность для сохранения сеансов в заданном состоянии, которые будут возобновлены на более позднем этапе. То есть, если вы создаете виртуальную скульптуру Lego, вы можете сохранить и возобновить состояние, и виртуальные объекты будут сохраняться в одном и том же пространстве и времени без необходимости повторного запуска.

Наконец, возможности ARKit 1.5 по обнаружению и отслеживанию трехмерных объектов были улучшены благодаря возможности полностью отслеживать двумерные изображения, включая подвижные объекты, такие как открытки, газеты или журналы. Например, вы можете держать открытку в определенном месте и перемещать карту, пока ARKit постоянно отслеживает и распознает ваш объект. ARKit 2 также позволяет обнаруживать известные 3D-объекты реального мира, такие как телевизоры, мебель или скульптуры.

Уведомления были значительно улучшены в iOS 12 благодаря возможности расставлять приоритеты и группировать сообщения — функция, которую пользователи и разработчики ожидали в течение долгого времени.

Возможность группировки уведомлений контекстуально дает конечным пользователям более лаконичный пользовательский интерфейс, который был доступен пользователям Android уже много лет. Пользователи могут, например, использовать группировки уведомлений, чтобы цепочка разговоров в приложении или игровые уведомления были частью одной групповой посылки, а не отдельными уведомлениями, занимающими весь экран. Вместо этого, одним движением пользователи могут отклонить группу контекстных уведомлений.

Источник уведомлений группы AppleToolbox

Важность уведомлений также определяется по приоритетности, поэтому над уведомлениями в социальных сетях появляются такие важные уведомления, как сообщения, электронные письма или уведомления календаря. Сторонние разработчики также могут классифицировать уведомление как предупреждение с определением приоритетов — с одобрения группы проверки Apple.

SiriKit также получил некоторое внимание на этом WWDC с добавлением Siri Shortcuts . Эта функция разумно предлагает сочетания клавиш, когда они необходимы, путем сопряжения и прогнозирования пользовательских процедур и поведения. С помощью нового API ярлыков пользователи могут быстро и удобно выполнять задачи на экране блокировки или экране поиска, используя эти ярлыки визуально или с помощью голосовых ярлыков Siri, а также создавая свои собственные ярлыки.

Примером может служить уведомление о выходе из кофейни на экране блокировки в результате того, что пользователь прогуливается по утрам и заказывает напиток с мятным мохито. Помимо визуального предложения, пользователь также сможет использовать Siri и сказать «Заказать мой любимый кофейный напиток из Philz» или создать собственный ярлык, который запускает это действие.

Блокировка экрана Siri Предложения

Apple представила совершенно новую библиотеку AuthenticationServices, которая объединяет менеджеры паролей, такие как LastPass или 1Password, с автозаполнением пароля операционной системы. Ранее пользователи имели доступ только к учетным данным, хранящимся в цепочке ключей iCloud, а доступ к сторонним паролям, хранящимся в таких приложениях, как 1Password, означал, что пользователям приходилось переключаться между обоими приложениями для получения информации об имени пользователя и пароле.

Приложения Password Manager, интегрированные в iOS 21

В панели быстрого набора пользователи могут получить доступ к своим учетным данным из сторонних приложений для управления паролями. Разработчики также имеют возможность посредством реализации нового класса ASWebAuthenticationSession обмениваться информацией для входа в систему между активным сеансом в Safari и вашим приложением. Это работает как своего рода передача пароля.

Apple также дала возможность разработчикам выйти за рамки новых SDK и сред с заметными улучшениями в Xcode и наборе инструментов для сборки Xcode. Например, редактор исходного кода получил несколько значительных улучшений рефакторинга, в том числе редактирование с несколькими курсорами, так что вы можете быстро редактировать несколько строк кода (т.е. разными методами) одновременно.

Xcode 10

Xcode 9 впервые представил интеграцию с GitHub — от создания и открытия репозиториев GitHub из среды IDE до более совместного взаимодействия с кодом. Xcode 10 выходит за рамки GitHub для работы с двумя другими популярными поставщиками репозиториев, GitLab и Bitbucket.

Что касается редактора исходного кода, то изменения в локальном репозитории или в апстриме теперь выделены в левом столбце, что позволяет быстро увидеть изменения, внесенные в ваш код, а также изменения, которые еще не были переданы, изменения апстрима, сделанные другими, и возможные конфликты, которые требуют быть адресованным до совершения. Наконец, Xcode 10 генерирует ключи SSH для вас, если это необходимо, и загружает их в ваш репозиторий контроля версий для вас.

Переходя к цепочке инструментов, Xcode 10 представляет совершенно новую систему сборки для разработчиков, и в соответствии с темой конференции, он получает повышение производительности и скорости. Например, разработчики, тестирующие свои приложения в Simulator, теперь могут использовать распараллеливание тестов, возможность запускать несколько тестов одновременно.

В дополнение к модульным тестам разработчики теперь могут запускать непрерывные интеграционные тесты для множества различных типов имитируемых устройств, порождая клоны одного имитируемого устройства, в результате чего тесты выполняются за долю времени, которое потребуется Xcode 9. Разработчики могут либо воспользоваться процессором своего Mac для параллельного выполнения тестов, либо выделить другой Mac в сети, где размещается сервер XCode Server, для автоматизации сборки и тестирования параллельно.

В настоящее время Apple OSLog операторы print() в пользу новых OSLog указателей OSLog , которые обеспечивают гораздо большую скорость отладки по сравнению с print() . Разработчики также могут реализовывать пользовательские инструменты для маркировки значимых точек в коде, которые затем отслеживаются через указатели в инструментах, появляясь вместе с другими событиями анализа (такими как ЦП, память или сеть), что дает разработчикам еще больше возможностей для устранения неполадок в их приложениях.

Xcode 10 также включает в себя настраиваемые шаблоны, которые помогают разработчикам создавать свои собственные инструменты с настраиваемой визуализацией и анализом данных, которые можно повторно использовать и передавать другим членам группы или публиковать в ваших инфраструктурах. Существуют и другие незначительные изменения в значках, в том числе перемещение содержимого библиотеки в новое окно наложения вместо нижней части инспектора. Есть также другие незначительные изменения в значках и разметке Interface Builder.

iTunes Connect был соответствующим образом переименован в App Store Connect , наряду с некоторыми усовершенствованиями, которые делают пользовательский интерфейс более эффективным, но при этом удобным для пользователя. С помощью нового веб-интерфейса разработчики могут создавать страницы продуктов со скриншотами и превью, переключать покупки внутри приложения и настраивать подписки, предварительные заказы и вводные цены.

App Store Connect

Наконец, TestFlight получил заметное улучшение благодаря новой функции под названием PublicFight Link Test , которая значительно упрощает процесс приглашения людей для тестирования вашего приложения. Если раньше разработчик должен был вручную приглашать пользователей, используя их адреса электронной почты, что было громоздким процессом, разработчики теперь могут создавать «открытое приглашение» через общедоступный URL-адрес.

iOS 12 — очень сфокусированный релиз как для потребителей, так и для разработчиков, с упором на оптимизацию производительности. Для разработчиков Xcode и инструменты для сборки и тестирования были оптимизированы с акцентом на скорость на переднем крае, а новейшие платформы Apple, такие как ARKit, Core ML и SiriKit, получили существенные обновления функций.

В течение двух лет мы начинаем видеть, как стремление Apple к машинному обучению развивается и развивается, а преимущества распространяются и на другие технологические среды, такие как SiriKit, ARKit и Photos, что позволяет разработчикам создавать более интеллектуальные пользовательские интерфейсы. Что еще более важно, машинное обучение превратилось из нишевой библиотеки в библиотеку, в которой любой разработчик, независимо от опыта машинного обучения, может обучать и внедрять модели.

В связи с тем, что WWDC станет прелюдией к анонсам оборудования Apple в сентябре, будет интересно посмотреть, как сообщество разработчиков использует ARKit во второй итерации, в пространстве многопользовательских игр.