Automator и разработчик
Automator является приложением Apple, позволяющим пользователям автоматизировать повторные процедуры, выполняемые на компьютере. С Automator пользователи могут быстро создать произвольно сложные последовательности конфигурируемых задач, которые они могут привести в движение щелчком кнопки. И они не должны писать одну строку кода, чтобы сделать так.
Все виды пользователей OS X, включая системных администраторов и разработчиков, могут получить огромные преимущества из Automator. Это позволяет им выполнить через несколько секунд сложную или утомительную процедуру, которая вручную могла бы занять много минут. Разработчики могут способствовать тому, что Automator предлагает пользователям двумя способами: путем подавания их scriptable заявок и путем создания загружаемых пакетов, специально предназначенных для Automator.
Построение потоков операций с Automator
Как разработчик, можно лучше всего ценить, как интегрировать программные продукты с Automator путем понимания, как пользователи могли бы использовать приложение, расположенное в /Applications
. Рисунок 1 показывает типичный поток операций Automator.
Поток операций в Automator состоит из последовательности вызванных действий дискретных задач. Действие Automator является своего рода функциональным стандартным блоком. Поток операций Automator сцепляет действия вместе так, чтобы — в большинстве случаев — вывод одного действия был вводом последующего действия. Щелчок по кнопке запуска в верхнем правом углу окна заставляет Automator вызывать каждое действие потока операций, в свою очередь, передающего его (обычно) вывод предыдущего действия.
Для создания потока операций пользователи выбирают каждое действие, которое они хотят от браузера на левой стороне окна приложения и перетаскивают его в представление расположения в правой стороне окна. Они могут искать определенные действия приложением, категорией или ключевым словом. После того, как отброшенный, действие представляет представление, в почти всех случаях, содержащее текстовые поля, кнопки и другие элементы пользовательского интерфейса для конфигурирования действия. В дополнение к конфигурированию каждого действия пользователи могут переместить действия в потоке операций для помещения их в желаемую последовательность. Они могут тогда сохранить поток операций как документ, который может быть выполнен снова и снова в Automator.
Действия могут быть фактически чем-либо, что можно сделать в системе OS X (версия 10.4 и позже). У Вас может быть действие, копирующее файлы, действие, что обрезки изображение, действие, записывающее DVD или действие, разрабатывающее проект в XCode. Действия могут или взаимодействовать с приложениями или привлечь системные ресурсы, чтобы сделать их работу. Путем строкового представления действий вместе в значимой последовательности — т.е. в потоке операций — пользователь может выполнить комплекс и высоко настроенные процедуры щелчком кнопки. Apple обеспечивает десятки действий для использования в Automator (версия 10.4 OS X и позже).
Сценарии потока операций
Общее описание Automator и его действий и потоков операций идет только до сих пор для передачи питания и гибкости приложения. Для лучше понимания, что пользователи могут сделать с Automator — и как действия могут играть роль в нем — рассматривают следующие сценарии потока операций:
Поток операций 1 — Копии содержание всех сообщений, отмеченных в в настоящее время выводимом на экран почтовом ящике к документу TextEdit. Этот поток операций состоит из следующих действий:
Найдите сообщения в Почте (Почта), сконфигурированная для нахождения сообщений, отмеченное состояние которых является истиной
Сообщения дисплея (почта)
Сообщения объединения (почта)
Новый документ TextEdit (TextEdit)
Поток операций 2 — Импорт отображает на веб-странице (такой как фотоальбом.Mac) в iPhoto:
Этот поток операций требует, чтобы пользователи перешли к веб-странице в Safari прежде, чем выполнить поток операций.
Получите текущую веб-страницу от Safari
Получите Изображение URLs от Веб-страницы, сконфигурированной для соединения URLs от этой веб-страницы
Загрузите URLs, сконфигурированный к указанному расположению на локальном компьютере
Изображения импорта в iPhoto, сконфигурированный для помещения их в новый или существующий альбом
Поток операций 3 — Находит людей со днями рождения в текущем месяце и создает событие iCal для каждого лица:
Разработка для Automator
Учитывая средство автоматизации, столь же мощное и гибкое как Automator, ясно, что любое действие, которое Вы разрабатываете для него, приносит преимущества и Вам и пользователю, особенно если то действие получает доступ к тому, что должно предложить Ваше приложение. У пользователей есть дополнительный путь к функциям и службам, делающим Ваши продукты уникальными, и это поочередно улучшает видимость и репутацию Ваших продуктов.
Вы не должны даже быть программистом (в традиционном смысле) для разработки действий для Automator. Можно записать действие в AppleScript, а также в Objective C (и действия AppleScript имеют полный доступ к таким вещам как Стандартные Дополнения). Можно также смешать сценарии AppleScript и код Objective C при разработке действия; сценарий может вызвать методы Objective-C, реализованные для действия. AppleScript имеет преимущество того, чтобы быть проще учиться, но он требует, что приложения, которые являются целями команд быть scriptable. Как объектно-ориентированное надмножество ANSI C, Objective C является законченным языком программирования, делающим его тяжелее ведущему устройству, чем AppleScript, но позволяющим Вам в полной мере пользоваться платформами Objective C Какао — а также всеми платформами на базе С.
Если имеют опыт в средах UNIX, можно также записать сценарии оболочки, сценарии Perl или сценарии Python для управления поведением действий. Эти виды действий известны как действия сценария оболочки. Сценарии в этих действиях могут также сотрудничать со сценариями AppleScript и классами Objective C в проекте действия.
В свете этих альтернатив языка существует три общих типа действий Automator:
Действие, управляющее приложением, чтобы сделать что-то. Если приложение scriptable, находящиеся в AppleScript действия могут сделать это. Если приложение имеет общедоступный программируемый интерфейс (также, как и, например, Адресная книга и iChat), действия Objective C могут сделать это.
Действие, использующее системные платформы и другие системные ресурсы, чтобы сделать что-то. Действия, которые строго основаны на AppleScript, не могут сделать этого, но действий Objective C — и действий, которые являются смесью AppleScript, и Objective C — может. Действие Objective C, например, могло использовать классы сетевых служб NSNetService и NSNetServiceBrowser для реализации действия, предлагающего динамическое открытие принтера. Действия сценария оболочки также попадают в эту категорию, потому что у них есть сотни инструментов командной строки BSD в их распоряжении.
Действие, выполняющее некоторую небольшую, но необходимую функцию «моста», такую как запрос пользователя для ввода, записи вывода к диску или информирования пользователя прогресса. Можно создать эти типы использования действий AppleScript, Objective C и сценарии оболочки (включая Perl или Python).
С точки зрения разработчика действия имеют общий программируемый интерфейс и единый набор свойств. Программируемый интерфейс определяется четырьмя классами: AMAction, AMBundleAction, AMAppleScriptAction и AMShellScriptAction (обсужденный, в Как Работы Automator). Свойства действия, указанные в списке свойств информации пакета действия (Info.plist
), определите характеристики, такие как:
Типы данных действие принимает и обеспечивает
Приложение действие связано с и категория задачи, которую это выполняет
Другие ключевые слова для идентификации действия в поисках
Параметры по умолчанию действия
Предупреждения, данные пользователям, если действие, как сконфигурировано, могло бы привести к потере данных
См. Ссылку Свойства Действия Automator для получения дополнительной информации о свойствах действия Automator.
Интегрированная среда разработки Apple, XCode, предоставляет поддержку для разработчиков действия Automator. Существуют типы проектов XCode для AppleScript, Objective C и действий сценария оболочки. Включенный в эти типы проектов все требуемые файлы и шаблоны. Например, файл пера по умолчанию (main.nib
) содержит интерфейс исходного пользователя, экземпляр NSObjectController для установления привязки и Владельца Файла, уже установленного, чтобы быть Вашим объектом действия. Для больше на типах проектов действия Automator посмотрите Разработку Действия.
Если Вы устанавливаете действия как часть Вашего продукта, несомненно, установят их в /Library/Automator
(если они должны быть доступны всем пользователям системы), или в ~/Library/Automator
(если они должны быть доступны только текущему пользователю). /System/Library/Automator
резервируется для разработанных Apple действий. Можно также установить действия в пакете приложения, использующего их. Automator также ищет действия в комплектах приложений. При обеспечении действий можно хотеть распространить их пользователям, таким образом, они могут надеяться использовать их в новых потоках операций.
Действия Automator как Универсальные двоичные файлы
Универсальный двоичный файл является исполняемым кодом, который может работать или на основанных на PowerPC или основанных на Intel компьютерах Macintosh. Перемещать проект только для PowerPC в универсально-двоичный проект может потребовать работы, включающей такие подробные данные программирования как порядок байтов, выравнивание и соглашения о вызовах. Объем работы обычно зависит на уровне исходного кода; исходный код низшего уровня (например, ядро) требует большего количества работы, чем высокоуровневый код (например, приложение на основе Углерода).
Потребность сделать действие Automator универсальным двоичным файлом зависит от используемого языка:
Действия AppleScript независимы от платформы и не требуют, чтобы любые изменения работали на процессорах Intel.
Действие, содержащее код Objective C, ли действие Только для какао или действие, содержащее соединение Objective C и AppleScript, должно быть создано как универсальный двоичный файл для выполнения правильно на обоих процессорах Intel и PowerPC.
Для получения информации о создании универсальных двоичных файлов см. Универсальные Двоичные Инструкции по Программированию, Второй Выпуск.