Создание действия преобразования
Действие преобразования действует как своего рода мост между двумя действиями чьи типы предоставленных данных (AMProvides
свойство) и принятые данные (AMAccepts
) не соответствовать. Действие преобразования преобразовывает между одним типом и другим, обычно от внутренне определенного типа данных (такого как отслеживаемый объект iTunes, указанный идентификатором UTI com.apple.itunes.track-object
) к внешне определенному открытому типу (такому как файл, указанный public.item
).
Automator не выводит на экран действия преобразования, и пользователи не должны потрудиться размещать их между действиями. Приложение определяет, существует ли неверный тип данных между двумя действиями и, если подходящее действие преобразования доступно, это вставляет его невидимо между ними. Действия преобразования имеют расширение пакета .caction
и установлены в обычных системных каталогах для действий.
Вы создаете действие преобразования так же, как Вы были бы «нормальное» действие (как описано в Разработке Действия), но со всего несколькими различиями:
Установите расширение произведенного пакета к
.caction
. Чтобы сделать это, выберите действие, предназначаются и выбирают Get Info из Меню проектов. В области Build окна Info (Настроенный набор Настроек), устанавливает Расширение Обертки «caction».В информационном списке свойств (
Info.plist
) для пакета убедиться сделать следующее:AMAccepts
идентификатор типа должен указать тип данных, преобразованных из.AMProvides
идентификатор типа должен указать тип данных, преобразованных в.AMCategory
свойство должно иметь значение «Преобразователя/Фильтра».AMApplication
значение свойства должно быть «Automator».
См. Перечисление 1 для примера.
Конечно, нет никакой потребности в описании действия, файле пера или подобном ресурсе.
Свойства Listing 1 Typical Automator для действий преобразования
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
<plist version="1.0"> |
<dict> |
<key>AMAccepts</key> |
<dict> |
<key>Container</key> |
<string>List</string> |
<key>Types</key> |
<array> |
<string>com.apple.iphoto.photo-object</string> |
</array> |
</dict> |
<key>AMApplication</key> |
<string>Automator</string> |
<key>AMCategory</key> |
<string>Converter/Filter</string> |
<key>AMDefaultParameters</key> |
<dict/> |
<key>AMIconName</key> |
<string>(* The name of the icon *)</string> |
<key>AMName</key> |
<string>Convert Photo object to Alias object</string> |
<key>AMProvides</key> |
<dict> |
<key>Container</key> |
<string>List</string> |
<key>Types</key> |
<array> |
<string>public.item</string> |
</array> |
</dict> |
<!- other properties here --> |
</dict> |
</plist> |
Как последний шаг, запишите сценарий или исходный код Objective C, чтобы сделать преобразование. Пример сценария на рисунке 1 преобразовывает объекты iPhoto, представляющие фото изображения путям к тем изображениям в файловой системе.