Ссылка свойства действия Automator

При разработке действия для Automator один из шагов указывает свойства действия в его информационном списке свойств (см. Указание Свойств Действия). Automator использует эти свойства в различных целях среди них определяющий типы данных, которые действие может принять и произвести, установив начальные параметры в пользовательском интерфейсе действия, и получив имя действия, значок, связанное приложение и категорию. Следующие разделы документируют свойства Automator и описывают основанные на UTI идентификаторы типов, которые Вы используете для указания типов данных, которые действие предоставляет и принимает.

Ключи свойства и значения

Необходимо указать некоторые свойства Automator, описанные ниже в списке свойств информации проекта действия (Info.plist), и дополнительно может указать другие. Info.plist файл в шаблоне проекта включает, за исключением AMRequiredResources, свойства Automator (с комментариями для значений).

AMAccepts

Словарь, описывающий данные, которые примет действие. Это требуемое свойство имеет три подсвойства:

  • Container— Строка, указывающая, как передаются многократные вводы. В настоящее время это должно иметь значение по умолчанию (List).

  • Optional— Булевская переменная, указывающая, является ли введенный дополнительным для этого действия. Если Ваше действие может функционировать должным образом без ввода, указать <true/>; если это требует ввода, указать <false/>. Если это свойство не указано, Automator принимает значение по умолчанию </false>.

  • Types— Массив идентификаторов типов, указывающих типы данных, которые Ваше действие может принять как допустимый ввод.

Пример:

<key>AMAccepts</key>
    <dict>
        <key>Container</key>
        <string>List</string>
        <key>Optional</key>
        <true/>
        <key>Types</key>
        <array>
            <string>com.apple.textedit.document-object</string>
            <string>public.text</string>
            <string>public.item</string>
        </array>
    </dict>

Для получения информации о допустимых идентификаторах типов, включая использование '*' чтобы показать, что действие может принять любой тип данных, обратитесь к Идентификаторам типов. См. также соответствующее свойство AMProvides.

AMApplication

Строка, идентифицирующая первичное приложение что использование действия для выполнения его работы. Например, если бы Ваше действие управляет приложением Средства поиска с командами AppleScript, Вы указали бы «Средство поиска» для этого свойства. Automator использует это свойство в качестве фильтра и в качестве критерия поиска. Примерами возможных значений является Адресная книга, iCal и XCode.

Пример:

<key>AMApplication</key>
<string>Finder</string>
AMCanShowSelectedItemsWhenRun

Булевская переменная, управляющая, позволяет ли действие представление выбранных частей его пользовательского интерфейса для функции Show When Run. Если это свойство установлено в <true/> (значение по умолчанию), части представления действия (или автоматически или вручную сгенерированный) появляются как элементы в табличном представлении, представленном под кнопкой Options. Если это установлено в <false/>, только флажок «Show Action When Run» представлен (предполагающий, что AMCanShowWhenRun свойство установлено в <true/>).

AMCanShowWhenRun

Булевская переменная, управляющая, активирована ли опция Show When Run для действия. По умолчанию это установлено в <true/>, то, чтобы заставлять кнопку Options быть выведенным на экран в нижнем левом углу представления действия. Когда кнопка нажата, представление расширяется для представления флажка «Show Action When Run» и, дополнительно, средства управления для выбора частей представления действия для представления пользователям потока операций (см. описание AMCanShowSelectedItemsWhenRun). Установка AMCanShowWhenRun к <false/> удаляет кнопку Options из представления действия.

AMCategory

Строка (или массив строк), что использование Automator для группировки действия с подобными действиями с точки зрения их эффектов или объектов они воздействуют на. Automator представляет категории в своем пользовательском интерфейсе и также использует категорию действия в качестве критерия поиска.

Примечание: Automator не показывает категории в своем пользовательском интерфейсе в версии 10.4 OS X, хотя это действительно использует их в поисках.

В OS X v10.4, названия категории были просто строками (или массивы строк) со значениями теми, которые Находят, Музыка, Изображения, Система, Терминал, текст и Утилита. Вы могли также указать имена для новых категорий.

Пример (OS X v10.4):

<key>AMCategory</key>
<string>Pictures</string>

Запускаясь в OS X v10.5, названия категории представляют коды (или массивы кодов), и необходимо использовать кодовые названия, показанные в Таблице 1.

Пример (OS X v10.5):

<key>AMCategory</key>
<string>AMCategoryPhotos</string>

Для действий, перенесенных на следующий период от OS X v10.4, Automator попытается категоризировать действие соответственно. Например, действие с названием категории «Места подачи питания» будет помещено в категорию Представлений (AMCategoryPresentations). Действие с нераспознанным названием категории будет помещено в универсальную Другую категорию.

При восстановлении более старого действия в OS X v10.5, не изменяя значение названия категории он будет все еще создавать и работать, но Вы получите предупреждение от amlint то, что Вы не используете одно из предопределенных значений.

Действие, скомпилированное в OS X v10.5, не будет работать в v10.4 вследствие двоичной несовместимости.

Таблица 1  кодовые названия AMCategory, доступные в версии 10.5 OS X

Кодовое название

Категория

AMCategoryCalendar

Календарь

AMCategoryChat

Чат

AMCategoryContacts

Контакты

AMCategoryDeveloper

Разработчик

AMCategoryDocuments

Документы

AMCategoryFilesAndFolders

Файлы и папки

AMCategoryFonts

Шрифты

AMCategoryInternet

Интернет

AMCategoryMail

Почта

AMCategoryMovies

Фильмы

AMCategoryMusic

Музыка

AMCategoryPDFs

Файлы PDF

AMCategoryPhotos

Фотографии

AMCategoryPresentations

Представления

AMCategorySystem

Система

AMCategoryText

Текст

AMCategoryUtilities

Утилиты

AMDefaultParameters

Словарь, содержащий значения по умолчанию для элементов пользовательского интерфейса, которыми управляет привязка Какао. Ключи являются именами элементов пользовательского интерфейса, вводимых как атрибуты экземпляра Параметров (NSObjectController) в Интерфейсном Разработчике. Значения должны содержаться в элементах, идентифицирующих тип данных; булевская переменная используется для флажков, целого числа для раскрывающегося индекса элемента и строки для текстовых полей. Это свойство требуется для действий, имеющих параметры.

Пример:

<key>AMDefaultParameters</key>
<dict>
    <key>fromChoice</key>
    <integer>1</integer>
    <key>replaceExisting</key>
    <boolean>No</boolean>
    <key>toChoice</key>
    <integer>0</integer>
    <key>toDirectory</key>
    <string></string>
</dict>
AMDescription

Словарь, указывающий содержание описания действия, появляющегося в нижнем левом представлении Automator, когда выбрано действие. Значок и заголовок описания получены из AMIconName и AMName свойства, соответственно. AMDescription словарь имеет следующие ключи (значения, для которых все строки):

  • AMDSummary— Сжатое описание того, что делает действие. Это появляется непосредственно в соответствии с заголовком действия. Этот текст требуется.

  • AMDInput— Типы данных действие принимают. Если это подсвойство не указано, использование Automator текст по умолчанию, соответствующий идентификаторам типов, указанным для AMAccepts. он подзаголовок «Ввод»: предшествует этому тексту в выведенном на экран описании.

  • AMDResult— Типы данных действие обеспечивают. Если это подсвойство не указано, использование Automator текст по умолчанию, соответствующий идентификаторам типов, указанным для AMProvides. Подзаголовок «Результат»: предшествует этому тексту в выведенном на экран описании.

  • AMDOptions— Описывает то, что может быть установлено в пользовательском интерфейсе действия. Подзаголовок «Опции»: предшествует этому тексту в выведенном на экран описании. Используйте это подсвойство только для объяснения аспектов пользовательского интерфейса действия, которые не с готовностью очевидны.

  • AMDAlert— Указывает на важное возможное последствие действия, такого как перезапись файла. Подзаголовок «Предупреждение»: предшествует этому тексту в выведенном на экран описании.

  • AMDNote— Дополнительная информация, которую пользователь должен знать (но не как критически настроенный как предупреждение). Подзаголовок «Примечание:» предшествует этому тексту в выведенном на экран описании.

  • AMDRequires— Что-либо, чего это действие требует для работы должным образом, такая выведенная на экран веб-страница или подключенный локальный принтер. Подзаголовок «Требует»: предшествует этому тексту в выведенном на экран описании.

  • AMDRelatedActions— Укажите пакет IDs действий, особенно связанных с этим действием. (Можно посмотреть на Info.plist файл в действии связывается для обнаружения его пакета ID.) Может быть по крайней мере три вида отношений среди действий на основе того, какую функцию они выполняют:

    • Связанная функция: действия, вероятно, будут использоваться в том же потоке операций, таком как Новое сообщение и Отправят Исходящие сообщения.

    • Параллельная функция: действия выполняют ту же общую задачу, но немного отличающимися способами или использование различных приложений, тех, которые Отправляют Сообщение электронной почты и Отправляют сообщение iChat.

    • Противопоставление против функции: одно из действий отменяет эффект другого, такого как Подключение к Серверам, и Извлеките Диск.

Пример:

<key>AMDescription</key>
    <dict>
        <key>AMDInput</key>
        <string>Project file from the previous action.</string>
        <key>AMDOptions</key>
        <string>Set, retrieve, increment, tag, submit, get
            marketing version, set marketing version. </string>
        <key>AMDResult</key>
        <string>Pass information to next action or to a log
            file.</string>
        <key>AMDSummary</key>
        <string>This action changes the version information of
            an Xcode project. It uses the agvtool shell tool, and
            allows you to set most all of the options of that
            tool.</string>
    </dict>
AMIconName

В версии 10.4 OS X это - строка, указывающая файл, содержащий 16 16 пиксельный значок, который Automator выводит на экран налево от имени действия в его пользовательском интерфейсе. Строка имени значка не должна включать расширение, но сам файл должен иметь расширение .tiff. Это может относиться к файлу значка в Automator или к файлу пользовательского значка в пакете действия.

Пример:

<key>AMIconName</key>
<string>MyApp</string>

Также в OS X v10.4, можно сохранить в пакете действия большое (32 32 пиксель) версия того же значка для Automator для отображения в описании действия. Этот файл значка должен иметь имя Имени формыLarge.tiff. В примере свойства выше, этот файл имел бы имя таким как MyAppLarge.tiff.

Запускаясь в OS X v10.5, строка имени значка может относиться к файлу образа в любом из основных форматов, которые Какао поддерживает, такие как Файл значка, TIFF, JPEG и PNG, со всеми стандартными изменениями расширений файла (.icns, .tiff, .tif, .jpg, .jpeg, и т.д.). Как в более ранней версии, Вы не включаете расширение как часть имени значка. Можно предоставить и 16 16 и 32 32 пиксельный значок в том же файле образа. Для обратной совместимости, использования .tiff файлы все еще поддерживаются, и необходимо предоставить значки в ранее описанном формате для действия, которое должно работать в более ранних версиях OS.

AMKeywords

Массив строк, дающих ключевые слова Automator для идентификации действия в поисках. Ключевые слова не показаны в пользовательском интерфейсе Automator, но используются в поисках. Обратите внимание на то, что Automator автоматически использует слова на имена действий как ключевые слова, таким образом, нет никакой причины повторить их в этом свойстве. Ключевые слова в качестве примера являются Изменением, Папкой и Меткой.

Пример:

<key>AMKeywords</key>
    <array>
        <string>Add</string>
        <string>Spotlight</string>
        <string>File</string>
    </array>
AMName

Строка, дающая имя действия, которое будет выведено на экран в пользовательском интерфейсе Automator. Это свойство требуется. Имена в качестве примера - то, “Добавьте Присоединения к Переднему сообщению”, “Файлы Копии”, и “Профилируют Исполнимую программу”.

Пример:

<key>AMName</key>
<string>Copy Files</string>

См. инструкции для именования действий в Руководстве по проектированию для Действий.

AMProvides

Словарь, описывающий данные, которые действие генерирует, как выведено. Это требуемое свойство имеет два подсвойства:

  • Container— Строка, указывающая, как передаются многократные выводы. В настоящее время это должно иметь значение по умолчанию (List).

  • Types— Массив идентификаторов типов, указывающих типы данных, которые Ваше действие может предоставить как допустимый ввод.

Пример:

key>AMProvides</key>
    <dict>
        <key>Container</key>
        <string>List</string>
        <key>Types</key>
        <array>
            <string>public.item</string>
        </array>
    </dict>

Для получения информации о допустимых идентификаторах типов обратитесь к Идентификаторам типов. См. также соответствующее свойство AMAccepts.

AMRequiredResources

Массив словарей, описывающий приложения, файлы или другие ресурсы, которых действие требует для работы должным образом. Если указанный ресурс не доступен, когда пакет загружается, Automator предупреждает пользователя. Если ресурс не доступен, когда поток операций действия выполняется, Automator просит, чтобы пользователь определил местоположение недостающего ресурса. Если пользователь не находит ресурс, поток операций прекращает выполняться. Это свойство имеет четыре подсвойства для каждого словаря:

  • Display Name— Строка, идентифицирующая имя ресурса, как выведено на экран в Средстве поиска, например «iPhoto». Оставьте это значение, незаполненное если Type ключ устанавливается, чтобы «зарегистрировать».

  • Resource— Строка, идентифицирующая требуемый ресурс. Формат ресурса обозначен Type подсвойство (см. примечание ниже).

  • Type— Строка, указывающая тип идентификатора ресурса, данного как значение Resource: «приложение», “код создателя” или «файл».

  • Version— Строка, указывающая минимальную версию ресурса, требуется этапом в n.n.n формат (например, «4.0.1»).

Примечание: Значение для Resource ключ словаря зависит от значения для Type. Если тип является «приложением», ресурс указан идентификатором пакета приложения; если тип является “кодом создателя”, ресурс указан кодом создателя с четырьмя символами; если тип является «файлом», ресурс указан путем целой файловой системы.

Примеры:

<key>AMRequiredResources</key>
    <array>
        <dict>
            <key>Display Name</key>
            <string>iTunes</string>
            <key>Resource</key>
            <string>com.apple.iTunes</string>
            <key>Type</key>
            <string>application</string>
            <key>Version</key>
            <string>4.6</string>
        </dict>
 
        <dict>
            <key>Display Name</key>
            <string></string>
            <key>Resource</key>
            <string>/usr/bin/otool</string>
            <key>Type</key>
            <string>file</string>
            <key>Version</key>
            <string>10.3.5</string>
        </dict>
    </array>
AMWarning

Если действие может потенциально потерять данные, укажите в этом словаре ряд подсвойств, заставляющих Automator отображать предупреждение, когда действие добавляется к потоку операций. Информация в предупреждении прибывает из AMWarning подсвойства. Дополнительно, это свойство может позволить пользователю вставлять другое действие перед этим для защиты от потери данных. Общее предупреждение в Automator добавляет действие Файлов Копии перед текущим действием. В результате действие изменяет копии файлов, а не оригиналов. Это свойство требуется, но только значение для Level ключ должен быть указан (и установлен в значение по умолчанию 0 в шаблонах проекта).

  • Action— Строка, указывающая идентификатор пакета действия, которое будет вставлено (если пользователь соглашается) в потоке операций перед этим действием. Оставьте это значение, незаполненное, если Вы просто хотите предупредить пользователя. Если Вы не указываете значение для этого ключа, ApplyButton строка используется для заголовка кнопки, но IgnoreButton значение проигнорировано.

  • ApplyButton— Строка, которая является заголовком для кнопки, добавляющей предложенные меры или, если никакое действие не указано, который продолжает поток операций. Примеры, «Добавляют» и «Продолжаются».

  • IgnoreButton— Строка, которая является заголовком для кнопки для отклонения предложенных мер или, если никакое действие не указано для отмены потока операций. Примеры, “не Добавляют” и «Отмена».

  • Level— Целое число, указывающее уровень предупреждения:

    • 0: Безопасная работа (значение по умолчанию)

    • 1: Вносит обратимые изменения, например Зеркальные изображения

    • 2: Вносит необратимые изменения, например Изображения Обрезки

    Это - единственное требуемое значение AMWarning словарь. При указании уровня 1 или 2, необходимо также указать a Message строка.

  • Message— Строка, которая является предупреждением, представленным пользователям в листе.

Следующий пример показывает AMWarning свойство, просто предупреждающее пользователя, не предлагая предшествующее действие:

<key>AMWarning</key>
    <dict>
        <key>Action</key>
        <string></string>
        <key>ApplyButton</key>
        <string>Continue</string>
        <key>IgnoreButton</key>
        <string>Cancel</string>
        <key>Level</key>
        <integer>2</integer>
        <key>Message</key>
        <string>This action will update the connected iPod. It cannot be undone.</string>

В этом примере свойство предлагает предшествующие меры:

<key>AMWarning</key>
    <dict>
        <key>Action</key>
        <string>com.apple.Automator.CopyFiles</string>
        <key>ApplyButton</key>
        <string>Add</string>
        <key>IgnoreButton</key>
        <string>Don’t Add</string>
        <key>Level</key>
        <integer>2</integer>
        <key>Message</key>
        <string>This action will change the image files passed into it. Would you like to add a Copy Files action so that the originals are preserved?</string>

Идентификаторы типов

Automator AMAccepts и AMProvides свойства используют идентификаторы типов для указания типов данных для вводов и выводов действия. Automator использует текст в Столбце описания в Таблице 2 и Таблице 4 в ее пользовательском интерфейсе для обозначения типов входных данных и выходных данных для действий в потоке операций.

Действия Automator могут использовать идентификаторы открытого типа в трех категориях. Первое является определенным для технологий или приложений Apple. Таблица 2 перечисляет текущие идентификаторы в этой категории.

Табличные 2  Идентификаторы типов внутренне определяются Apple

Идентификатор типа

Описание

com.apple.applescript.object

Объект (в домене AppleScript)

com.apple.applescript.data-object

Данные

com.apple.applescript.url-object

URL

com.apple.applescript.text-object

Текст

com.apple.applescript.alias-object.pdf

Файлы PDF

com.apple.applescript.alias-object.movie

Файлы фильма в формате QuickTime

com.apple.applescript.alias-object.image

Файлы образа

com.apple.applescript.alias-object

Файлы/Папки

com.apple.finder.file-or-folder-object

Файл средства поиска или папка

com.apple.idvd.menu-object

меню iDVD

com.apple.idvd.slideshow-object

слайд-шоу iDVD

com.apple.iphoto.item-object

элемент iPhoto

com.apple.iphoto.album-object

альбом iPhoto

com.apple.iphoto.photo-object

фотография iPhoto

com.apple.itunes.item-object

элемент iTunes

com.apple.itunes.source-object

источник iTunes

com.apple.itunes.playlist-object

список воспроизведения iTunes

com.apple.itunes.track-object

дорожка iTunes (песня)

com.apple.safari.document-object

Документ Safari

com.apple.textedit.document-object

Документ TextEdit

com.apple.mail.item-object

Почтовый элемент

com.apple.mail.message-object

Сообщение электронной почты

com.apple.mail.mailbox-object

Почтовый почтовый ящик

com.apple.mail.account-object

Почтовая учетная запись

com.apple.addressbook.item-object

Элемент Адресной книги

com.apple.addressbook.group-object

Группа Адресной книги

com.apple.addressbook.person-object

Лицо Адресной книги

com.apple.ical.item-object

элемент iCal

com.apple.ical.event-object

событие iCal

com.apple.ical.calendar-object

календарь iCal

com.apple.ical.todo-object

iCal, чтобы сделать

Специальное подмножество идентификаторов типов, определенных Apple, является зарезервированными для действий Objective C, описанных в Таблице 3.

Табличные 3  идентификаторы типов Objective C

Идентификатор типа

Описание

Комментарии

com.apple.cocoa.path

Файл

Объект NSString представление пути стиля POSIX.

com.apple.cocoa.url

URL

Объект NSURL представление URL

com.apple.cocoa.string

Текст

Объект NSString.

Заключительная категория идентификатора типа включает внешне определенный UTIs. Таблица 4 перечисляет эти общедоступные идентификаторы.

Таблица 4  Внешне определила идентификаторы типов

Идентификатор типа

Комментарии

public.data

Данные

public.url

URL

public.text

Текст

public.image

Файл образа

public.item

Файл/Папка

com.apple.quicktime-movie

Фильм в формате QuickTime

Можно преобразовать между идентификаторами типов — и самое главное между внешне и внутренне определенные идентификаторы — использование специального вида действия вызвало действие преобразования. Посмотрите Создание Действия Преобразования для подробных данных.