Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. iOS SDK
Code

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

by
Length:MediumLanguages:

Russian (Pусский) translation by Anna k.Ivanova (you can also view the original English article)

Final product image
What You'll Be Creating

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

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

Core ML process flow

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

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

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

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

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 и обобщенные линейные модели…. Поскольку он построен на основе низкоуровневых технологий, таких как Metal и Accelerate, Core ML эффективно использует преимущества процессора и графического процессора для обеспечения максимальной производительности и эффективности. (WWDC)

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

ARKit 2

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

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

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

Multi-player Augmented Reality

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

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

Групповые уведомления

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

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

Group Notifications source AppleToolbox

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

SiriKit & Intents

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

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

Lock Screen Siri Suggestions

Услуги аутентификации

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

Password Manager apps integrated into iOS 21

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

Xcode 10

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, для автоматизации сборки и параллельного тестирования.

В настоящее время Apple отвергла операторы print() в пользу новых операторов указателей 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 во второй итерации, в пространстве многопользовательских игр.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.