Бөлісу құралы:


Введение в iOS 9

В этой статье представлены все новые и измененные API и функции, доступные в iOS 9 для разработчиков Xamarin.iOS.

Логотип iOS 9

Apple добавила несколько новых API и служб в iOS 9, а также множество улучшений существующих функций.

Трехмерные сенсорные технологии

Новые возможности iOS 9 и i Телефон 6s и i Телефон 6s Plus, 3D Touch добавляет чувствительные жесты давления к приложениям iOS. Благодаря 3D Touch приложение i Телефон теперь может не только сказать, что пользователь касается экрана устройства, он также может понять, сколько давления пользователь оказывает и реагирует на различные уровни давления.

3D Touch предоставляет следующие функции приложения:

  • Конфиденциальность давления . Приложения теперь могут измерять, как трудно или легко пользователя касаться экрана и воспользоваться этой информацией. Например, приложение для рисования может сделать линию толще или тоньше на основе того, насколько сильно пользователь касается экрана.
  • Просмотр и всплывающее окно . Теперь приложение может позволить пользователю взаимодействовать с данными, не переходя из текущего контекста. Нажав кнопку на экране, они могут просмотреть интересующий элемент (например, предварительный просмотр сообщения). Нажимая кнопку "Труднее", они могут перейти к элементу.
  • Быстрые действия . Думайте о быстрых действиях, таких как контекстные меню, которые можно открыть, когда пользователь щелкает элемент правой кнопкой мыши в классическом приложении. С помощью быстрых действий вы можете добавить общие, быстрые и простые сочетания клавиш для функций в приложении с помощью значка начального экрана на устройстве iOS.

Дополнительные сведения см. в руководстве по 3D Touch .

Безопасность транспорта приложения

Новое для iOS 9, безопасность транспорта приложений (ATS) обеспечивает безопасные подключения между интернет-ресурсами (например, сервером внутреннего сервера приложения) и приложением. ATS гарантирует, что все интернет-коммуникации соответствуют рекомендациям по безопасному подключению, тем самым предотвращая случайное раскрытие конфиденциальной информации непосредственно через приложение или библиотеку, которую она потребляет.

Так как ATS включен по умолчанию в приложениях, созданных для iOS 9 и OS X 10.11 (El Capitan), все подключения с помощью NSUrl Подключение ion, CFUrl или NSUrlSession будут соответствовать требованиям безопасности ATS. Если ваши подключения не соответствуют этим требованиям, они завершаются сбоем с исключением.

Дополнительные сведения об ATS см. в нашем руководстве по безопасности транспорта приложений.

Многозадачность для iPad

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

Многозадачность iPad поддерживается с помощью следующих функций:

  • Слайд сверху — позволяет пользователю временно запускать второе приложение iOS на панели с выходом (в правой или левой части экрана на основе направления языка), которое охватывает примерно 25 % основного приложения, работающего в настоящее время. Slide Over доступен только на iPad Pro, iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 или iPad Mini 4.
  • Разделение представления — на поддерживаемом оборудовании iPad (только iPad Air 2, iPad Mini 4 и iPad Pro), пользователь может выбрать второе приложение и запустить его параллельно с приложением в режиме разбиения экрана. Пользователь может контролировать процент основного экрана, который занимает каждое приложение.
  • Рисунок на рисунке — для приложений, которые воспроизводит видеоконтент, видео теперь можно воспроизводить в перемещаемом и изменяемом окне, которое плавает над другими приложениями, работающими на устройстве iOS. Пользователь имеет полный контроль над размером и положением этого окна. Изображение на рисунке доступно только на iPad Pro, iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 или iPad Mini 4.

Чтобы узнать больше о новых возможностях многозадачности iOS 9, ознакомьтесь с нашим руководством по многозадачности для iPad .

Новые контакты и платформы пользовательского интерфейса контактов

С введением iOS 9 Apple выпустила две новые платформы, Контакты и ContactsUI, которые заменяют существующие платформы адресной книги и пользовательского интерфейса адресной книги, используемые iOS 8 и более поздней версии.

Эти новые объектно-ориентированные платформы предоставляют следующие возможности:

  • Контакты — предоставляет Xamarin.iOS доступ к контактным данным пользователя. Так как большинству приложений требуется только доступ только для чтения, эта платформа оптимизирована для безопасного потока, доступ только для чтения.
  • ContactsUI — предоставляет элементы пользовательского интерфейса Xamarin.iOS для отображения, изменения, выбора и создания контактов на устройствах iOS.

Дополнительные сведения см. в документации по пользовательскому интерфейсу контактов и контактов.

Новые API поиска

Поиск был расширен в iOS 9, чтобы предоставить отличные новые способы доступа к информации в приложении Xamarin.iOS. Используя новые API поиска, вы можете сделать контент приложения доступным для поиска в центре внимания и результатов поиска Safari, Handoff и Siri Reminders и Предложений. Это позволяет пользователям быстро получать доступ к действиям и информации в приложении.

Кроме того, новые API поиска упрощают интеграцию поиска в приложение без предварительной реализации поиска. Из-за этого Apple утверждает, что обычно требуется несколько часов, чтобы сделать содержимое приложения iOS 9 универсальным для поиска приложений с помощью поиска приложений.

Дополнительные сведения см. в нашей документации по улучшению поиска.

Новое представление стека

Элемент управления "Представление стека" (UIStackView ) использует возможности классов автоматического макета и размера для управления стеком подвидов (горизонтально или вертикально), динамически реагирующих на ориентацию и размер экрана устройства iOS.

С помощью элемента управления Stack View объем работы, необходимой для макета пользовательского интерфейса, значительно уменьшается. Макет всех вложенных представлений, подключенных к представлению стека, управляется автоматически на основе определенных разработчиком свойств, таких как ось, распределение, выравнивание и интервалы.

Дополнительные сведения см. в документации по представлению стека.

Изменения представления коллекции

В iOS 9 представление коллекции (UICollectionView теперь поддерживает переупорядочение элементов из поля, добавив новый распознаватель жестов по умолчанию и несколько новых вспомогательных методов.

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

Дополнительные сведения об изменениях представления коллекции для iOS 9 см. в руководстве по изменениям представления коллекции.

Улучшения игры

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

К ним относятся шейдеры игрового процесса, ReplayKit, модели ввода-вывода, MetalKit и металлических шейдеров производительности, а также новые, улучшенные функции Metal, SceneKit и SpriteKit.

Дополнительные сведения см. в нашей документации по улучшению игры.

Изменения в HomeKit Framework

Платформа HomeKit , представленная в iOS 8, обеспечивает возможность настройки и управления различными аксессуарами с поддержкой HomeKit (например, автоматическими фонарями, блокировками дверей и открывателями гаража) из приложения Xamarin.iOS. Помимо простой настройки и настройки, аксессуары HomeKit можно управлять с помощью речевых команд Siri.

В iOS 9 Apple упрощает настройку, расширяет типы поддерживаемых аксессуаров и обеспечивает больше взаимодействия с аксессуарами (например, управление аксессуарами удаленно через iCloud).

Дополнительные сведения см. в документации по HomeKit и Apple HomeKit .

Изменения платформы передачи

Передача (также известная как Непрерывность) была представлена Apple в iOS 8 и OS X Yosemite (10.10) в качестве способа запуска действия на одном из своих устройств (iOS или Mac) и продолжайте то же действие на других своих устройствах (как определено учетной записью iCloud пользователя).

Раздатка была расширена в iOS 9, чтобы также поддерживать новые расширенные возможности поиска. Дополнительные сведения см. в нашей документации по улучшению поиска. Дополнительные сведения об использовании Handoff см. в нашей документации по вводу в handoff .

Новые точки расширения

В iOS 8 Apple представила расширения — библиотеки, представленные операционной системой в стандартных контекстах, например в Центре уведомлений, когда пользователь запрашивает клавиатуру или при редактировании фотографии.

С iOS 9 Apple расширяет поддержку расширений, предоставляя несколько новых точек расширения, которые определяют политики использования и предоставляют API для работы в данной области следующим образом:

  • Новая точка расширения аудиоблока — используйте эту точку расширения для предоставления звуковых эффектов, музыкальных инструментов, звуковых генераторов и т. д. для использования в других приложениях узла audio Unit (таких как GarageBand). Эта точка расширения также позволяет продавать звуковые единицы (подключаемые модули аудио) в App Store.
  • Новая точка расширения обслуживания индекса — используйте эту точку расширения для поддержки повторного индексирования данных приложения, не требуя повторного запуска приложения.
  • Новые точки расширения сети (для них требуется специальное разрешение от Apple):
    • Расширение поставщика прокси приложения— используйте эту точку расширения для реализации пользовательского прозрачного сетевого прокси-сервера на стороне клиента.
    • Фильтрация поставщика данных или расширения поставщика управления фильтрами. Используйте эти точки расширения для реализации динамической фильтрации сетевого содержимого на устройстве.
    • Расширение поставщика туннелей пакетов — используйте эту точку расширения для реализации пользовательского протокола туннелирования VPN на стороне клиента.
  • Новые точки расширения Safari:
    • Расширение блокировки содержимого— используйте эту точку расширения , чтобы определить список заблокированного содержимого, который не будет отображаться при просмотре пользователя в Интернете.
    • Расширение общих ссылок— используйте эту точку расширения , чтобы включить просмотр содержимого приложения в общих ссылках Safari.

Дополнительные сведения см. в статье "Общие сведения о расширениях" и руководстве по программированию расширений приложений Apple.

Улучшения цепочки ключей

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

  • Новое ограничение Touch ID, которое делает элементы цепочки ключей недействительными при изменении базы данных отпечатков пальцев.
  • Новые ограничения, позволяющие создавать записи списка контроль доступа только с сенсорным идентификатором или секретным кодом.
  • Новый контекст проверки подлинности, позволяющий вызывать проверку подлинности отдельно от SecItem вызовов.
  • контроль доступа перечисление энтропии (с помощью параметра "Пароль приложения") для шифрования элементов, предоставленных приложением связка ключей.
  • Поддержка создания и использования ключей внутри безопасного kSecAttrTokenIDSecureEnclave анклава (через атрибут).

Дополнительные сведения см. в разделе Touch ID и Face ID в Xamarin.iOS.

Поддержка языка справа налево

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

  • Стандартные элементы управления UIKit автоматически переворачиваются вправо налево на основе языковых стандартов и языковых параметров устройств iOS.
  • Класс UIView предоставляет атрибуты, позволяющие определить, как должно отображаться данное представление при перевернутом вправо налево.
  • Возможность программного переворачивания изображения с помощью свойства FlipsForRightToLeftLayoutDirection класса UIImage.

Дополнительные сведения см. в документации apple по поддержке языков справа налево .

Дополнительные изменения платформы

Помимо основных изменений, описанных выше, Apple внесла изменения и усовершенствования нескольких существующих платформ для iOS 9, включая следующие:

  • AV Foundation Framework
  • AVKit Framework
  • CloudKit Framework
  • Foundation Framework
  • Платформа передачи
  • HealthKit Framework
  • HomeKit Framework
  • Локальная платформа проверки подлинности
  • MapKit Framework
  • PassKit Framework
  • Платформа служб Safari
  • UIKit Framework

Дополнительные сведения см. в нашей документации по дополнительным изменениям платформы iOS 9.

Устаревшие API и функции

Apple не рекомендует следующие API и функции в iOS 9:

  • Пользовательский интерфейс адресной книги и адресной книги. Эти API были заменены платформами интерфейса контактов и контактов. Дополнительные сведения см. в документации по пользовательскому интерфейсу контактов и контактов.
  • CBCentralManagerRetrievePeripheralsRetrieveConnectedPeripherals методы CBCentralManager класса были удалены в iOS 9. Вызов этих методов приведет к сбою приложения при связывании аксессуара или при запуске приложения.
  • FetchAllChangesFetchAllChangesCKFetchRecordChangesOperation класс был устарел и будет удален в iOS 9.
  • Медиаплеер . Платформа Медиаплеер устарела в iOS 9. Вместо этого используйте API AVKit или AV Foundation.

Полный список нерекомендуемых API см. в документации по API Diffs apple для iOS 9.0.