Создавая и Используя плагины действия адресной книги

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

Каждый плагин действия может реализовать только одно действие. Действия могут только примениться к элементам с метками. Действие может вывести на экран простое окно в приложении Адресной книги. Если Ваши действия действия должны сделать что-либо еще, это должно запустить Ваше собственное приложение для выполнения действия.

ABActionDelegate протокол, который должен сопровождаться для приложения Адресной книги для распознавания плагина, получен в итоге в Таблице 1. Посмотрите Ссылку на протокол ABActionDelegate для полного изложения. Действия на базе С должны реализовать названную функцию ABActionRegisterCallbacks, как описано в Ссылке Действий Адресной книги.

Табличные 1  Методы действия для плагина действия Адресной книги

Метод

Цель

actionProperty

Возвраты NSString постоянная идентификация свойства, которому применяется к действие.

titleForPerson:identifier:

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

performActionForPerson:identifier:

Выполняет соответствующие меры для плагина. Каждый плагин может только иметь одно действие.

shouldEnableActionForPerson:identifier:

Возвраты YES если действие применимо и NO иначе. Это позволяет Вашему плагину включать и отключать свой пункт меню. (Дополнительный).

Для создания плагина используйте шаблон плагина действия Адресной книги из окна Xcode New Project. Шаблон создает плагин действия, разработанный для создания элемента контекстного меню на любом телефонном номере. Когда пункт меню выбран, демонстрационный плагин использует платформу синтеза речи OS X для разговора телефонного номера. Замените этот пример кода кодом, в котором Вы нуждаетесь для своего нового плагина. После того, как Вы разрабатываете свой проект, помещаете завершенный пакет в .../Library/Address Book Plug-Ins.

После того, как плагин действия был загружен, его пункт меню выведен на экран в контекстном меню с заголовком, возвращенным из titleForPerson:identifier: метод; этот метод не должен возвращаться nil. Плагин может включить и отключить этот пункт меню с помощью shouldEnableActionForPerson:identifier: метод.