10.10 Изменения
Эта статья описывает изменения в AppleScript и связанных инструментах в OS X Yosemite v10.10.
Улучшения
AppleScript
Создание отчетов прогресса
AppleScript теперь имеет встроенную поддержку создания отчетов о прогрессе сценария. Глобальная переменная AppleScript объект имеет четыре новых свойства:
progress total steps(целое число)progress completed steps(целое число)progress description(текст)progress additional description(текст)
Сценарий может установить любое из этих свойств в любое время во время сценария для обновления дисплея прогресса. progress completed steps разделенный на progress total steps обеспечивает завершенную часть; если completed или total -1, прогресс считают неопределенным. progress description и progress additional description обеспечьте сообщение о том, что делает сценарий.
Точно то, как прогресс выведен на экран, зависит от того, как выполняется сценарий: в Редакторе сценариев это появляется в строке состояния окна сценария; в приложениях сценария (апплеты) это появляется как диалоговое окно прогресса; и для сценариев, выполненных из Меню Сценария, это появляется в меню Script Monitor. (Монитор сценариев появился в предыдущих системных выпусках, но только использовался для потоков операций Automator; это теперь выводит на экран любой сценарий, выполненный с помощью NSUserScriptTask, который включает что-либо выполненное из Меню Сценария.)
Мультивведите приведение
as оператор может теперь принять список типов вместо единственного типа. Например, это выражение возвраты x или как целое число или как текст:
x as {integer, text} |
Когда дали список, as оператор обрабатывает список от первого типа до последнего, проверяя, является ли значение экземпляром того типа; если Вы соответствуете, результатом является исходное значение. Если ни один не соответствует, то это снова обрабатывает список от первого типа до последнего, пытаясь принудить значение к тому типу; результатом является результат первого успешного приведения. Если ни один не успешно выполняется, это бросает ошибку.
Введенные и дополнительные параметры
Параметры обработчика AppleScript могут теперь быть объявлены со спецификациями типа следующим именем формального параметра с as введите |{введите …}. Например, Вы могли объявить, что параметр был в частности целым числом как это:
on frotz(x as integer) |
Эффект состоит в том, как будто обработчик начался set x to x as integer; если принуждение фактического значения к целому числу перестало работать, AppleScript бросает надлежащую ошибку, которая может быть зафиксирована с a try блок. Тип может быть списком типов, как описано в Приведении Мультитипа выше.
Маркированные параметры могут быть объявлены со значением по умолчанию следующим именем формального параметра с :литерал. Выполнение так делает параметр дополнительным, когда вызвано. Например, это объявляет a make обработчик со значением по умолчанию для with data параметр:
on make new theClass with data theData : missing value |
Этот обработчик можно теперь вызвать, не предоставляя a with data параметр; обработчик видел бы theData набор к указанному значению по умолчанию missing value, на который это могло тогда протестировать и обработать соответственно.
Параметр может использовать и спецификацию типа и значение по умолчанию. Например, это объявляет a make обработчик с a with properties параметр, который должен быть записью и имеет значение по умолчанию пустой записи:
on make new theClass with properties theProperties as record : {} |
Поддержка AppleScript/Objective-C
AppleScript/Objective-C теперь доступен всем сценариям, не только сценариям библиотеки. Для использования платформы Objective C в сценарии необходимо указать его с a use оператор, такой как use framework "Foundation".
Редактор сценариев
“Редактора AppleScript” еще раз называют Редактором сценариев, теперь, когда AppleScript больше не является единственным языком OSA, включенным в OS X. Посмотрите JavaScript для получения информации о версии Автоматизации для подробных данных.
Средство просмотра словаря может теперь вывести на экран словарь с помощью JavaScript (для JavaScript для Автоматизации) или Objective C (для Сценариев Моста) синтаксис.
Другие улучшения
do shell script может теперь указать пользовательскую подсказку для использования в диалоговом окне пароля. [15194980]
Исправления ошибок
Что касается отрицания из диапазона text item теперь бросает ошибку вместо того, чтобы возвратить пустую строку. [12467195]
path to … команды и AppleScriptObjC теперь работают обычно, когда используется через NSUserScriptTask, такой как из Меню Сценария или Почтового правила. [14271600, 15977267]
Предназначение для приложения идентификатором пакета найдет уже рабочий экземпляр приложения, независимо от того, как капитализируется идентификатор пакета. [15309414]
AppleScript теперь отправляет end transaction событие при отъезде a with transaction блок. Если из блока выходят из-за непойманной ошибки, он отправляет abort transaction событие сначала. [16606423]
Разработчик отмечает
Средство просмотра словаря Редактора сценариев было улучшено для обеспечения более - гибкая встроенная документация. В частности можно теперь чисто задокументировать ряд связанных подэлементов большого класса или команды со многими параметрами.
documentationэлементы смешались сpropertyиparameterэлементы теперь выведены на экран в порядке, они появляются в sdef. Можно использовать это для обеспечения документации, следующей за рядом связанных элементов.Многократный
class-extensionэлементы, относящиеся к тому же классу в одномsuiteтеперь появитесь вместе как одна основная запись с подзаголовками для каждого расширения.class-extensionтеперь имеет atitleатрибут, позволяющий Вам настроить текст подзаголовка. Можно использовать это для повреждения класса в ясно очерченные разделы.Дисплей классов, когда “Показывают наследованные элементы”, включен, был изменен немного. Где это раньше показывало наследованные элементы и унаследованные свойства в отдельных участках, они теперь показаны вместе в разделе для суперкласса.
Средство просмотра словаря теперь распознает новую схему URL
apple-application-resource, который можно использовать для обращения к ресурсам в комплекте приложений. Часть «узла» URL является идентификатором комплекта приложений, и путь является путем ресурса. Например, Вы могли включать снимок экрана в свой словарь путем выполнения этого:<documentation>
<html><![CDATA[
<img src="apple-application-resource://com.MyCompany.MyApp/ScreenShot.png">
]]></html>
</documentation>