Ключи расширения приложения

Расширения приложения позволяют Вам обеспечить функции для других приложений в iOS и OS X. Каждый тип расширения приложения определяет ключи, позволяющие Вам объявить к информации о системе о приложении возможности и намерения расширения.

Ключи для расширений приложения следуют за определенной иерархической структурой со словарем NSExtension наверху. Большинство типов расширения приложения использует словарь NSExtensionAttributes как непосредственный дочерний элемент ключа NSExtension. Вот типичная структура ключей для расширения приложения:

<key>NSExtension</key>
<dict>
  <key>NSExtensionAttributes</key>
  <dict>
    <key>NSExtensionJavaScriptPreprocessingFile</key>
    <string>Action</string>
  </dict>
  <key>NSExtensionPointIdentifier</key>
  <string>com.apple.ui-services</string>
  <key>NSExtensionPrincipalClass</key>
  <string>MyActionRequestHandler</string>
</dict>

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

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

Ключевая сводка

Таблица 1 является алфавитным списком ключей расширения приложения, краткими описаниями и доступностью платформой и версией. В iOS 8 и OS X v10.10, ни один из этих ключей не имеет альтернативное имя XCode. Посмотрите более поздние разделы в этой главе для получения дальнейшей информации по каждому из этих ключей.

Табличная 1  Сводка ключей расширения приложения

Ключ

Точка расширения и описание

Доступность

IsASCIICapable

Пользовательская Клавиатура: булево значение, указывающее, поддерживает ли пользовательская клавиатура UIKeyboardTypeASCIICapable черта типа клавиатуры. Посмотрите IsASCIICapable для подробных данных.

iOS 8 и позже

NSExtension

Общие указания: Словарь ключей и значений, описывающих расширение приложения. См. NSExtension для подробных данных.

iOS 8 и позже

OS X v10.10 и позже

NSExtensionActionWantsFullScreenPresentation

Действие: булево значение, указывающее, должно ли расширение Действия быть представлено в полном экране. Посмотрите NSExtensionActionWantsFullScreenPresentation для подробных данных.

iOS 8 и позже

NSExtensionActivationRule

Доля, Действие: словарь, указывающий семантические типы данных, которые поддерживает расширение расширения или Действия Доли. Посмотрите NSExtensionActivationRule для подробных данных.

iOS 8 и позже

NSExtensionAttributes

Общие указания: Словарь ключей и значений, указывающих аспекты расширения приложения. Посмотрите NSExtensionAttributes для подробных данных.

iOS 8 и позже

OS X v10.10 и позже

NSExtensionFileProviderDocumentGroup

Средство выбора документа: строка, указывающая идентификатор совместно используемого контейнера, к которому могут получить доступ средство выбора документа и его связанный провайдер файла. Посмотрите NSExtensionFileProviderDocumentGroup для подробных данных.

iOS 8 и позже

NSExtensionJavaScriptPreprocessingFile

Доля, Действие: строка, указывающая имя файла JavaScript, предоставленного расширением Доли или расширением Действия. Посмотрите NSExtensionJavaScriptPreprocessingFile для подробных данных.

iOS 8 и позже

OS X v10.10 и позже

NSExtensionMainStoryboard

Общие указания: Строка, указывающая имя основного файла раскадровки расширения приложения, минус .storyboard расширение файла. Посмотрите NSExtensionMainStoryboard для подробных данных.

iOS 8 и позже

OS X v10.10 и позже

NSExtensionPointIdentifier

Общие указания: Строка, указывающая точку расширения, поддерживающую расширение приложения в нотации обратного DNS. Посмотрите NSExtensionPointIdentifier для подробных данных.

iOS 8 и позже

OS X v10.10 и позже

NSExtensionPrincipalClass

Общие указания: Строка, указывающая имя пользовательского класса, реализующего основное представление или функциональность расширения приложения. Посмотрите NSExtensionPrincipalClass для подробных данных.

iOS 8 и позже

OS X v10.10 и позже

NSExtensionServiceAllowsToolbarItem

Действие: булево значение, указывающее, может ли расширение Действия вывести на экран кнопку на панели инструментов на панели инструментов окна. Посмотрите NSExtensionServiceAllowsToolbarItem для подробных данных.

OS X v10.10 и позже

NSExtensionServiceRoleType

Действие: строка, указывающая тип задачи расширение Действия, может выполнить. Посмотрите NSExtensionServiceRoleType для подробных данных.

OS X v10.10 и позже

NSExtensionServiceToolbarIconFile

Действие: строка, что разновидности файл значка для кнопки на панели инструментов расширения Действия OS X. Посмотрите NSExtensionServiceToolbarIconFile для подробных данных.

OS X v10.10 и позже

NSExtensionServiceToolbarPaletteLabel

Действие: строка, указывающая заголовок элемента панели инструментов, выведенный на экран в диалоговом окне настройки панели инструментов для расширения Действия. Посмотрите NSExtensionServiceToolbarPaletteLabel для подробных данных.

OS X v10.10 и позже

PHSupportedMediaTypes

Фото Редактирование: массив, указывающий типы активов фотография, Редактируя расширение, может отредактировать. Посмотрите PHSupportedMediaTypes для подробных данных.

iOS 8 и позже

PrefersRightToLeft

Пользовательская Клавиатура: булево значение, указывающее, является ли пользовательская клавиатура для справа налево язык. Посмотрите PrefersRightToLeft для подробных данных.

iOS 8 и позже

PrimaryLanguage

Пользовательская Клавиатура: строка, соответствующая BCP 47 - Теги для Идентификации Языков, который указывает основной язык для пользовательской клавиатуры. Посмотрите PrimaryLanguage для подробных данных.

iOS 8 и позже

RequestsOpenAccess

Пользовательская Клавиатура: булево значение, указывающее, хочет ли пользовательская клавиатура использовать совместно используемый контейнер и хочет доступ к сети. Посмотрите RequestsOpenAccess для подробных данных.

iOS 8 и позже

UIDocumentPickerModes

Средство выбора документа: массив, указывающий поддерживаемые режимы средства выбора документа. Посмотрите UIDocumentPickerModes для подробных данных.

iOS 8 и позже

UIDocumentPickerSupportedFileTypes

Средство выбора документа: массив, указывающий поддерживаемые Универсальные Идентификаторы типов (UTIs) для средства выбора документа. Посмотрите UIDocumentPickerSupportedFileTypes для подробных данных.

iOS 8 и позже

Ключи расширения общего приложения

Ключи в этом разделе принадлежат всем расширениям приложения.

NSExtension

Dictionary - iOS, OS X. Ключи и значения, описывающие расширение приложения. Любой другой ключ расширения приложения, используемый для расширения приложения, должен быть помещен в этом словаре.

Поддерживаемыми прямыми дочерними элементами этого ключа является NSExtensionAttributes, NSExtensionMainStoryboard, NSExtensionPointIdentifier и ключи NSExtensionPrincipalClass.

Этот ключ поддерживается в iOS 8 и позже и в OS X v10.10 и позже.

NSExtensionAttributes

Dictionary - iOS, OS X. Ключи и значения, указывающие аспекты расширения приложения. Этот ключ, если используется, должен быть помещен как непосредственный дочерний элемент ключа NSExtension.

Этот ключ поддерживается в iOS 8 и позже и в OS X v10.10 и позже.

NSExtensionMainStoryboard

String - iOS, OS X. Указывает имя основного файла раскадровки расширения приложения, минус .storyboard расширение файла. Этот ключ, если используется, должен быть помещен как непосредственный дочерний элемент ключа NSExtension.

Этот ключ поддерживается в iOS 8 и позже и в OS X v10.10 и позже.

NSExtensionPointIdentifier

String - iOS, OS X. Указывает точку расширения, поддерживающую расширение приложения в нотации обратного DNS. Этот ключ требуется для каждого расширения приложения и должен быть помещен как непосредственный дочерний элемент ключа NSExtension. Каждый шаблон расширения приложения XCode предварительно сконфигурирован с надлежащим ключом идентификатора точки расширения. Допустимые значения показаны в Таблице 2.

Табличные 2  значения для NSExtensionPointIdentifier ключ

Точка расширения

Платформы

Идентификатор точки расширения

Действие (UI)

iOS, OS X

com.apple.ui-services

Действие (неUI)

iOS

com.apple.services

Пользовательская клавиатура

iOS

com.apple.keyboard-service

Средство выбора документа

iOS

com.apple.fileprovider-ui

Провайдер файла

iOS

com.apple.fileprovider-nonui

Синхронизация средства поиска

OS X

com.apple.FinderSync

Фото редактирование

iOS

com.apple.photo-editing

Доля

iOS, OS X

com.apple.share-services

Сегодня

iOS, OS X

com.apple.widget-extension

Приложение WatchKit

iOS

com.apple.watchkit

Этот ключ поддерживается в iOS 8 и позже и в OS X v10.10 и позже.

NSExtensionPrincipalClass

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

Этот ключ поддерживается в iOS 8 и позже и в OS X v10.10 и позже.

Ключи расширения действия

Ключи в этом разделе принадлежат расширениям приложения, использующим точку расширения Действия. Эти ключи, если используется, должны быть помещены как непосредственные дочерние элементы ключа NSExtensionAttributes, если не отмечено иначе.

NSExtensionActionWantsFullScreenPresentation

Boolean - iOS. Указывает, должно ли расширение Действия iOS быть представлено в полном экране. Этот ключ, если используется, должен быть помещен как непосредственный дочерний элемент ключа NSExtension.

Если значение этого ключа YES, модальный стиль презентации контроллера представления расширения UIModalPresentationFullScreen; иначе, модальный стиль презентации UIModalPresentationFormSheet.

Этот ключ поддерживается в iOS 8 и позже.

NSExtensionActivationRule

Dictionary - iOS, OS X. Также поддерживаемый в расширении Доли. Указывает семантические типы данных, которые поддерживает расширение приложения. Каждый ключ в словаре представляет тип данных, такой как изображение, видео или веб-URL. Добавьте ключ к этому словарю и обеспечьте ненулевое значение, если Ваше расширение приложения может обработать файлы соответствующего типа данных.

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

Табличные 3  ключи для NSExtensionActivationRule словарь

Ключ

Описание

NSExtensionActivationSupportsAttachmentsWithMaxCount

Включайте этот ключ для указания к системе и к другим приложениям что поддержки приложений максимальное количество присоединений.

NSExtensionActivationSupportsAttachmentsWithMinCount

Включайте этот ключ для указания к системе и к другим приложениям что поддержки приложений минимальное число присоединений.

NSExtensionActivationSupportsFileWithMaxCount

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

NSExtensionActivationSupportsImageWithMaxCount

Включайте этот ключ для указания к системе и к другим приложениям что файлы образа поддержек приложений.

NSExtensionActivationSupportsMovieWithMaxCount

Включайте этот ключ для указания к системе и к другим приложениям что файлы ролика поддержек приложений.

NSExtensionActivationSupportsText

Включайте этот ключ для указания к системе и к другим приложениям что текст поддержек приложений.

NSExtensionActivationSupportsWebURLWithMaxCount

Включайте этот ключ для указания к системе и к другим приложениям что сеть поддержек приложений URLs.

NSExtensionActivationSupportsWebPageWithMaxCount

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

Если эти предопределенные ключи не могут выразить правило активации, Вам нужно, можно обеспечить запись в словарь NSExtensionActivationRule, который является строкой, представляющей предикат. Система оценивает предикат против представлений словаря NSItemProvider объекты. (Для узнавания больше о создании оператора предиката для правила активации посмотрите Объявление Поддерживаемых Типов данных для Расширения Доли или Действия.)

Этот ключ поддерживается в iOS 8 и позже и в OS X v10.10 и позже.

NSExtensionJavaScriptPreprocessingFile

String - iOS, OS X. Также поддерживаемый в расширении Доли. Указывает имя файла JavaScript, предоставленного расширением Доли. Когда расширение Доли запускается и останавливается, при обеспечении файла JavaScript Safari выполняет функции в файле. Вы могли бы хотеть включать файл JavaScript в свое расширение Доли, если Вы хотите получить информацию от веб-страницы, чтобы вывести на экран в Вашем расширении или обновить веб-страницу, когда Ваше расширение выполняет свою задачу.

Этот ключ поддерживается в iOS 8 и позже и в OS X v10.10 и позже.

NSExtensionServiceAllowsToolbarItem

Boolean - OS X. Указывает, может ли расширение Действия вывести на экран кнопку на панели инструментов на панели инструментов окна. Когда панель инструментов позволяет дополнительные элементы, включенное расширение Действия может появиться в диалоговом окне настройки панели инструментов.

Этот ключ поддерживается в OS X v10.10 и позже.

NSExtensionServiceRoleType

String - OS X. указывает тип задачи, которую может выполнить расширение Действия. Доступные значения для этого ключа показаны в Таблице 4.

Табличные 4  значения для NSExtensionServiceRoleType ключ

Значение

Описание

NSExtensionServiceRoleTypeEditor

Указывает расширение Действия, поддерживающее пользователя, редактирующего и возвраты отредактированное содержание к приложению узла.

NSExtensionServiceRoleTypeViewer

Указывает расширение Действия, поддерживающее просмотр содержания, но не редактирование.

Этот ключ поддерживается в OS X v10.10 и позже.

NSExtensionServiceToolbarIconFile

String - OS X. Разновидности файл значка для кнопки на панели инструментов расширения Действия OS X. Если этот ключ не присутствует, кнопка на панели инструментов использует значок, указанный ключом CFBundleIconFile расширения приложения.

Этот ключ поддерживается в OS X v10.10 и позже.

NSExtensionServiceToolbarPaletteLabel

String - OS X. Указывает заголовок элемента панели инструментов, выведенный на экран в диалоговом окне настройки панели инструментов для расширения Действия. Если этот ключ не присутствует, диалоговое окно настройки панели инструментов выводит на экран заголовок, указанный ключом CFBundleDisplayName расширения приложения.

Этот ключ поддерживается в OS X v10.10 и позже.

Пользовательские ключи расширения клавиатуры

Ключи в этом разделе принадлежат расширениям приложения, использующим Пользовательскую точку расширения Клавиатуры (только iOS). Эти ключи, если используется, должны быть помещены как непосредственные дочерние элементы ключа NSExtensionAttributes.

IsASCIICapable

Boolean - iOS. Указывает, поддерживает ли пользовательская клавиатура UIKeyboardTypeASCIICapable черта типа клавиатуры.

Этот ключ поддерживается в iOS 8 и позже.

PrefersRightToLeft

Boolean - iOS. Указывает, является ли пользовательская клавиатура для справа налево язык.

Этот ключ поддерживается в iOS 8 и позже.

PrimaryLanguage

String - iOS. Указывает основной язык для пользовательской клавиатуры, с помощью строки, соответствующей BCP 47 - Теги для Идентификации Языков. Система использует это значение для указания языка клавиатуры в Настройках и в системном ключе земного шара.

Этот ключ поддерживается в iOS 8 и позже.

RequestsOpenAccess

Boolean - iOS. Указывает, хочет ли пользовательская клавиатура получить доступ к таким ресурсам как совместно используемый контейнер (совместно использованный с содержанием приложения) и доступ к сети. Значение по умолчанию NO. Если Вы устанавливаете значение этого ключа в YES, Ваша клавиатура получает множество возможностей:

  • Доступ к сети, поддерживая обработку серверной стороны нажатий клавиш

  • Совместно используемый контейнерный доступ с клавиатурой, содержащей приложение, поддерживая функции, такие как редактирование, взаимодействует через интерфейс для пользовательского словаря автозамены клавиатуры

  • Доступ к Службам определения местоположения и базе данных Address Book, с пользовательским утверждением

  • Через содержание приложения, возможность участвовать в Игре Центральная и Закупка В приложении

  • Возможность к работать с управляемыми приложениями, если пользовательская клавиатура поддерживает управление мобильными устройствами (MDM)

Этот ключ поддерживается в iOS 8 и позже.

Средство выбора документа и ключи расширения провайдера файла

Ключи в этом разделе принадлежат расширениям приложения, использующим точки расширения Провайдера Средства выбора или Файла Документа (только iOS). Эти ключи, если используется, должны быть помещены как непосредственные дочерние элементы ключа NSExtensionAttributes.

NSExtensionFileProviderDocumentGroup

String - iOS). Указывает идентификатор совместно используемого контейнера, к которому могут получить доступ средство выбора документа и его связанный провайдер файла.

Этот ключ поддерживается в iOS 8 и позже.

UIDocumentPickerModes

Array - iOS). Указывает поддерживаемые режимы средства выбора документа. Доступные значения для этого ключа показаны в Таблице 5.

Табличные 5  значения для UIDocumentPickerModes ключ

Значение

Описание

UIDocumentPickerModeImport

Указывает, что средство выбора документа может импортировать файлы.

UIDocumentPickerModeOpen

Указывает, что средство выбора документа может открыть файлы.

UIDocumentPickerModeExportToService

Указывает, что средство выбора документа может экспортировать файлы.

UIDocumentPickerModeMoveToService

Указывает, что средство выбора документа может переместить файлы.

Этот ключ поддерживается в iOS 8 и позже.

UIDocumentPickerSupportedFileTypes

Array - iOS). Указывает поддерживаемые Универсальные Идентификаторы типов файла (UTIs) для средства выбора документа. Расширение приложения включено в меню документа, только если один из требуемых UTIs соответствует один из UTIs в этом массиве. Перемещение и режимы экспорта средства выбора документа воздействуют только на файлы с поддерживаемым UTIs.

Этот ключ поддерживается в iOS 8 и позже.

Фотография редактируя дополнительные ключи

Ключ в этом разделе принадлежит расширениям приложения, использующим фотографию, Редактируя точку расширения (только iOS). Эти ключи, если используется, должны быть помещены как непосредственные дочерние элементы ключа NSExtensionAttributes.

PHSupportedMediaTypes

Array - iOS. Указывает типы активов, которые может отредактировать фотография, Редактируя расширение. Доступные значения для этого ключа Image (который является значением по умолчанию), и Video.

Этот ключ поддерживается в iOS 8 и позже.

Совместно используйте дополнительные ключи

Ключи в этом разделе принадлежат расширениям приложения, использующим точку расширения Доли. Эти ключи, если используется, должны быть помещены как непосредственные дочерние элементы ключа NSExtensionAttributes.

NSExtensionActivationRule

Dictionary - iOS, OS X. Также поддерживаемый в расширении Действия. Указывает семантические типы данных, которые поддерживает расширение приложения. Для полной информации посмотрите NSExtensionActivationRule.

Этот ключ поддерживается в iOS 8 и позже и в OS X v10.10 и позже.

NSExtensionJavaScriptPreprocessingFile

String - iOS, OS X. Также поддерживаемый в расширении Действия. Указывает имя файла JavaScript, предоставленного расширением Доли. Для полной информации посмотрите NSExtensionJavaScriptPreprocessingFile.

Этот ключ поддерживается в iOS 8 и позже и в OS X v10.10 и позже.