Ключи расширения приложения
Расширения приложения позволяют Вам обеспечить функции для других приложений в 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. Посмотрите более поздние разделы в этой главе для получения дальнейшей информации по каждому из этих ключей.
Ключ | Точка расширения и описание | Доступность |
---|---|---|
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 | Общие указания: Строка, указывающая имя основного файла раскадровки расширения приложения, минус | 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.
Точка расширения | Платформы | Идентификатор точки расширения |
---|---|---|
Действие (UI) | iOS, OS X |
|
Действие (неUI) | iOS |
|
Пользовательская клавиатура | iOS |
|
Средство выбора документа | iOS |
|
Провайдер файла | iOS |
|
Синхронизация средства поиска | OS X |
|
Фото редактирование | iOS |
|
Доля | iOS, OS X |
|
Сегодня | iOS, OS X |
|
Приложение WatchKit | iOS |
|
Этот ключ поддерживается в 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
словарь. Значение для каждого ключа является целым числом, указывающим максимальное количество файлов соответствующего типа данных, который может обработать Ваше расширение.
Ключ | Описание |
---|---|
| Включайте этот ключ для указания к системе и к другим приложениям что поддержки приложений максимальное количество присоединений. |
| Включайте этот ключ для указания к системе и к другим приложениям что поддержки приложений минимальное число присоединений. |
| Включайте этот ключ для указания к системе и к другим приложениям что файлы поддержек приложений в целом. |
| Включайте этот ключ для указания к системе и к другим приложениям что файлы образа поддержек приложений. |
| Включайте этот ключ для указания к системе и к другим приложениям что файлы ролика поддержек приложений. |
| Включайте этот ключ для указания к системе и к другим приложениям что текст поддержек приложений. |
| Включайте этот ключ для указания к системе и к другим приложениям что сеть поддержек приложений URLs. |
| Включайте этот ключ для указания к системе и к другим приложениям что веб-страницы поддержек приложений. |
Если эти предопределенные ключи не могут выразить правило активации, Вам нужно, можно обеспечить запись в словарь 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.
Значение | Описание |
---|---|
| Указывает расширение Действия, поддерживающее пользователя, редактирующего и возвраты отредактированное содержание к приложению узла. |
| Указывает расширение Действия, поддерживающее просмотр содержания, но не редактирование. |
Этот ключ поддерживается в 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.
Значение | Описание |
---|---|
| Указывает, что средство выбора документа может импортировать файлы. |
| Указывает, что средство выбора документа может открыть файлы. |
| Указывает, что средство выбора документа может экспортировать файлы. |
| Указывает, что средство выбора документа может переместить файлы. |
Этот ключ поддерживается в 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 и позже.