Развитие какао информация о Scriptability

OS X и Какао обеспечивают различные инструменты и форматы для работы с scriptability информацией. Это приложение описывает историю тех инструментов и показывает, как преобразовать между различными форматами scriptability и версиями.

Условия Scriptability

AppleScript является зрелой технологией, сначала представленной в начале 1990-х. Когда сценарии поддержки были добавлены к среде разработки приложения Какао, значительная часть ее простоты использования зависела от ее принятия кодирования значения ключа (KVC), механизма для доступа к свойствам объекта косвенно.

. Когда термины от KVC (были использованы со сценариями Какао, некоторые условия, перекрытые или противоречивые с условиями уже в использовании AppleScript, некоторые из которых прибывают из моделирования связи сущностей), например, термин свойство имеет больше чем одно отличное значение. Для определений этих условий см. Глоссарий.

Кроме того, существуют некоторые различия в том, как Вы используете исходный формат для Какао scriptability информация (предоставленный в комплекте сценария и файлах с терминологией сценария) и текущий формат (на основе sdef формата файла). Эти различия описаны всюду по этой главе.

Изменения в информационных версиях Scriptability

Вы предоставляете scriptability информацию для своего приложения в одном из двух форматов, описанных в Информационных форматах Scriptability:

Традиционный механизм Углерода для предоставления scriptability информация 'aete' файл ресурсов. Сценарии какао не используют 'aete' ресурсы, но можно добавить тот к приложению, чтобы управлять, как scriptability информация выведена на экран Редактором сценариев или другими средствами просмотра словаря. Запускаясь в версии 10.4 Mac OS, однако, предпочтительный механизм для управления, как Ваша scriptability информация выведена на экран, должен использовать sdef файл.

Преимущества формата определения сценариев

Существует много преимуществ для использования собственного формата sdef в версии 10.4 OS X, включая:

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

  • У Вас есть больше опций для указания scriptability информация. Например, можно управлять порядком, в котором выведена на экран информация (не имея необходимость добавлять 'aete' ресурс к Вашему приложению). Можно также использовать hidden атрибут для сокрытия осуждаемых условий, все еще сохраняя их доступными для обратной совместимости. Или можно скрыть условия, которые еще не готовы к выпуску.

  • С sdef только части значения по умолчанию Какао scriptability информация, которую Вы в частности включаете, используются сценариями Какао и видимы, когда Ваш словарь выведен на экран.

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

  • Редактор сценариев может вывести на экран словарь Вашего приложения, не запуская приложение. Однако через версию 10.4 OS X, это действительно все еще должно открыть Ваше приложение для компиляции сценария, предназначающегося для приложения.

Преимущества формата комплекта сценария

Основное преимущество формата комплекта сценария состоит в том, что он может использоваться в любой scriptable версии Какао. Если Ваше scriptable приложение будет работать в версиях Mac OS до версии 10.4, это должно включать комплект сценария и файлы с терминологией сценария. Однако это может также содержать sdef файл, так, чтобы это могло получить преимущества, которые sdef файлы обеспечивают при выполнении в версии 10.4 OS X.

Комплект сценария и файлы с терминологией сценария не позволяют подробное управление того, как Ваша scriptability информация выведена на экран в средстве просмотра словаря. Но если Вам нужно более прекрасное управление вида Вашего словаря, можно добавить 'aete' ресурс к Вашему комплекту приложений. Можно генерировать 'aete' путем создания sdef файла для приложения, затем использования sdp инструмент для создания 'aete' ресурс. Или можно создать 'aete' снабдите ресурсами непосредственно (некоторые сторонние инструменты могут помочь при этом).

Информация о комплекте описана подробно в Файлах с терминологией Комплекта и Сценария Сценария.

Преобразование и обновление информации о Scriptability

Существует несколько опций, доступных для преобразования между форматами scriptability и обновления scriptability информация. Помните, что после внесения любых изменений в Вашу scriptability информацию, необходимо выполнить полный комплект сценариев тестирования, чтобы удостовериться, что поддержка scriptability работает как ожидалось.

Создание файлов комплекта или 'aete' файлов из определения сценариев

Можно использовать sdp инструмент для преобразования sdef файла в пару комплекта сценария и файлов с терминологией сценария, что Какао может работать с в текущих или более ранних версиях операционной системы. Если Вы используете, Однако файлы комплекта сценария могут потребовать некоторой модификации, особенно sdp в версии 10.4 OS X для создания файлов комплекта сценария Вы будете использовать с более ранними версиями ОС.

Можно также использовать sdp создать 'aete' файл от sdef файла. Приложение Какао, предоставляющее его scriptability информацию в формате комплекта сценария, может хотеть также включать 'aete' ресурс для обеспечения большего количества управления тем, как его scriptability информация выведена на экран. Это пригождается в следующей ситуации:

  1. Пользователь пытается вывести на экран словарь сценариев Вашего приложения с Редактором сценариев (или другое средство просмотра словаря). Редактор сценариев посылает Ваше заявление событие Apple, просящее его scriptability информацию.

  2. Если Ваше приложение имеет 'aete' ресурс, возвраты Какао это. Только информация Вы принимаете решение вставить 'aete' ресурс выведен на экран.

  3. Если Ваше приложение не имеет 'aete' ресурс, сценарии Какао создают один из информации в любых комплектах сценария, доступных приложению. Выведенная на экран информация может включать терминологию, которую Вы не хотите представлять.

Однако Вам не нужно 'aete' с этой целью в версии 10.4 OS X, если Ваше приложение использует sdef файл, потому что формат sdef дает Вам полный контроль над тем, что выведено на экран.

Можно выполнить оператор как следующее в Терминальном приложении для создания и файлов комплекта сценария и 'aete' ресурс от sdef файла:

sdp -fast -o ~myHome MyApplication.sdef

Путем указания "ast" с -f параметр, говорит эта команда sdp создать 'aete', комплект сценария и файлы с терминологией сценария. Это фактически создает пару файлов комплекта сценария для каждого suite элемент, определенный в sdef, размещая их в каталог, указанный -o параметр.

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

/usr/bin/sdp -fast -o "$BUILD_DIR/$BUILD_STYLE/$FULL_PRODUCT_NAME/Contents/Resources" "$SOURCE_ROOT/MyApplication.sdef"

Для получения дополнительной информации посмотрите sdp страница справочника и документация XCode.

Создание сценариев определений от файлов комплекта или 'aete' файлов

В версии 10.4 OS X, если у Вас есть существующий комплект сценария и файлы с терминологией сценария или файл ресурсов, содержащий 'aete' ресурс, можно использовать desdp инструмент для преобразования их в формат sdef. Получающийся sdef будет содержать всю информацию в исходном словаре, но, вероятно, потребует некоторых изменений, потому что формат sdef более выразителен, чем более старые форматы. Например, в более старом формате Вы не можете указать упорядочивание условий. Для получения дополнительной информации о desdp инструмент, см. его страницу справочника.

Обновление более старых файлов определения сценариев для версии 10.4 OS X

Формат определения сценариев испытал много изменений для версии 10.4 OS X. (Для полного списка посмотрите раздел History sdef страница справочника.), Если у Вас есть существующий sdef файл, создаваемый для более ранней версии Mac OS, можно использовать xsltproc инструмент для обновления его для версии 10.4 OS X. Вы используете этот инструмент командной строки для применения таблиц стилей XSLT (таких как файл OS X /usr/share/sdef/upgrade.xsl упомянутый в примере, следующем) к XML-документам (в этом случае, sdef файл, который будет обновлен).

Можно использовать строку как следующее в Терминальном приложении для обновления sdef названного файла MyApplication.sdef:

xsltproc --novalid -o MyNewApplication.sdef /usr/share/sdef/upgrade.xsl MyApplication.sdef

В этом вызове:

  • --novalid параметр заставляет инструмент пропускать загрузку файла DTD документа.

  • -o параметр указывает имя нового файла для создания.

  • /usr/share/sdef/upgrade.xsl параметр указывает файл, из которого можно получить информацию об обновлении.

  • Заключительный параметр, MyApplication.sdef, указывает существующий sdef файл для обновления.

Для получения дополнительной информации посмотрите xsltproc страница справочника.

Редактирование информация о Scriptability

В версии 10.4 OS X и XCode и Редактор сценариев понимают формат sdef. Двойной щелчок по sdef файлу в Средстве поиска запустит Редактор сценариев и выведет на экран терминологию сценариев в средстве просмотра словаря, в то время как двойной щелчок по sdef файлу в проекте XCode откроет его в средстве просмотра словаря в XCode. Рисунок 1-4 показывает sdef, выведенный на экран в средстве просмотра словаря.

Для редактирования sdef файла в XCode выберите sdef файл и выберите File> Open As> Plain Text File. Можно также просмотреть и отредактировать XML для sdef файла путем открытия его с любым редактором простого текста или XML-редактором.

Можно использовать Файл>, Открывают Dictionary in Script Editor или Xcode, чтобы выбрать любое scriptable приложение и вывести на экран его словарь.

В версии 10.3 OS X и ранее, сценарии Какао не могут непосредственно проанализировать sdef файлы, и ни XCode, ни Редактор сценариев не могут вывести на экран собственные sdef файлы в средстве просмотра словаря.

Для всех scriptable версий Какао можно предоставить scriptability информацию в файлах комплекта сценария и файлах с терминологией сценария. Перетаскивание scriptable приложения Какао, содержащего эти файлы на Редактор сценариев, выведет на экран свой словарь. Однако ни Редактор сценариев, ни XCode не могут интерпретировать комплект сценария и файлы с терминологией сценария исходно для отображения словаря.

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

Для получения информации о создании нового sdef файла посмотрите, Создают Файл Определения Сценариев. Для получения информации о создании нового комплекта сценария посмотрите Создание Ваших Собственных Файлов Комплекта Сценария. Если у Вас уже есть существующая scriptability информация, посмотрите Преобразование и Обновление информация о Scriptability.