Создание действия преобразования

Действие преобразования действует как своего рода мост между двумя действиями чьи типы предоставленных данных (AMProvides свойство) и принятые данные (AMAccepts) не соответствовать. Действие преобразования преобразовывает между одним типом и другим, обычно от внутренне определенного типа данных (такого как отслеживаемый объект iTunes, указанный идентификатором UTI com.apple.itunes.track-object) к внешне определенному открытому типу (такому как файл, указанный public.item).

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

Вы создаете действие преобразования так же, как Вы были бы «нормальное» действие (как описано в Разработке Действия), но со всего несколькими различиями:

  Свойства 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, представляющие фото изображения путям к тем изображениям в файловой системе.

Рисунок 1  типичный сценарий преобразования
A typical conversion script