Создавая и Используя плагины действия адресной книги
Специфический аспект приложения Адресной книги является своей возможностью действовать на данные, содержавшие в карте лица. Можно установить собственные плагины для добавления дополнительных действий к данной записи. Примером существующего действия является Большое действие Типа, работающее над любой записью телефонного номера. Когда выбрано из его контекстного меню, это выводит на экран число в большом типе через экран.
Каждый плагин действия может реализовать только одно действие. Действия могут только примениться к элементам с метками. Действие может вывести на экран простое окно в приложении Адресной книги. Если Ваши действия действия должны сделать что-либо еще, это должно запустить Ваше собственное приложение для выполнения действия.
ABActionDelegate
протокол, который должен сопровождаться для приложения Адресной книги для распознавания плагина, получен в итоге в Таблице 1. Посмотрите Ссылку на протокол ABActionDelegate для полного изложения. Действия на базе С должны реализовать названную функцию ABActionRegisterCallbacks
, как описано в Ссылке Действий Адресной книги.
Метод |
Цель |
---|---|
Возвраты |
|
Возвращает заголовок пункта меню для действия. Этот метод не должен возвращаться |
|
Выполняет соответствующие меры для плагина. Каждый плагин может только иметь одно действие. |
|
Возвраты |
Для создания плагина используйте шаблон плагина действия Адресной книги из окна Xcode New Project. Шаблон создает плагин действия, разработанный для создания элемента контекстного меню на любом телефонном номере. Когда пункт меню выбран, демонстрационный плагин использует платформу синтеза речи OS X для разговора телефонного номера. Замените этот пример кода кодом, в котором Вы нуждаетесь для своего нового плагина. После того, как Вы разрабатываете свой проект, помещаете завершенный пакет в .../Library/Address Book Plug-Ins
.
После того, как плагин действия был загружен, его пункт меню выведен на экран в контекстном меню с заголовком, возвращенным из titleForPerson:identifier:
метод; этот метод не должен возвращаться nil
. Плагин может включить и отключить этот пункт меню с помощью shouldEnableActionForPerson:identifier:
метод.