10.3 Изменения

Эта статья описывает изменения в AppleScript и связанных инструментах в Mac OS X v10.3 и его обновления.

Mac OS X v10.3 - AppleScript 1.9.2

AppleScript 1.9.2 включен с версией 10.3 Mac OS X и требует версии 10.3 Mac OS X или позже. Это содержит много новых функций и улучшений, и исправляет проблемы, найденные с AppleScript 1.9.1 и более ранними версиями.

AppleScript 1.9.2 может использовать сценарии, разработанные для любой версии AppleScript от 1,1 до 1.9.1, любое дополнение сценариев, создаваемое для AppleScript 1.5 или позже для Mac OS X и любого scriptable приложения для Mac OS 7.1 или позже.

Сценарий, создаваемый с AppleScript 1.9.2, может использоваться любой версией AppleScript назад к версии 1.1, если это не использует функции AppleScript, пишущий сценарий дополнений или scriptable приложений, которые недоступны в той версии.

Специальные замечания

  • Неявно закодированные типы текстов, typeText, typeCString, и typePString, все осуждаются с AppleScript 1.9.2, так как они неспособны к представлению международных символов и могут быть даны иное толкование непредсказуемыми способами. Кроме того, typeCString и typePString не поддерживайте полный спектр текстовых приведений, и будет удален полностью в будущем выпуске. typeStyledText и typeIntlText, в то время как у них есть явные кодировки, не рекомендуются, так как они неспособны к представлению символов только для Unicode как венгерский, арабский или тайский язык. Рекомендуемый тип текста typeUnicodeText.

  • offset команда теперь игнорирует регистр по умолчанию и почести considering и ignoring операторы относительно case и diacriticals. Посмотрите раздел смещения ниже для получения дополнительной информации.

  • Файлы сценария ветви ресурсов больше не могут создаваться с помощью store script. Посмотрите раздел сценария хранилища ниже для получения дополнительной информации.

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

Разработчик отмечает

  • Четыре новых функции были добавлены к Open Scripting Architecture (OSA) API в версии 10.3 Mac OS X. Новые функции позволяют приложениям загрузить, выполнить и сохранить сценарии с помощью любого из старых (базируемые данные/ветвь ресурсов) или новые (связанные) форматы сценария. Новые функции OSALoadFile(), OSALoadExecuteFile(), OSAStoreFile(), и OSADoScriptFile(). Для получения дополнительной информации посмотрите Открыть Scripting Architecture Reference.

  • AppleScript теперь отправляет подчиненный параметр в некоторых случаях, где этому ранее не удалось. Это позволяет приложениям делать at параметр для make new дополнительный. [3039070]

  • Системная терминология теперь читается в память только при необходимости для компиляции или decompilation. Это сокращает стоимость памяти для приложений, просто выполняющих скомпилированные сценарии. [3142099]

  • AppleScript теперь сохраняет международные символы лучше при компиляции источника Unicode. [3157261]

Новые функции и улучшения

AppleScript

  • AppleScript 1.9.2 поддерживает новый связанный формат для скомпилированных сценариев и приложений сценария (апплеты), который использует стандартные пакеты Mac OS X. Скомпилированные пакеты сценария имеют расширение файла .scptd, в то время как пакеты апплета имеют расширение файла .app. [3150267] [3150248]

  • Сценарии дополнений могут быть встроены в связанных апплетах путем размещения их в названной папке Scripting Additions в пакете Contents/Resources/ папка. Обратите внимание на то, что Редактор сценариев не ищет встроенные дополнения сценариев при редактировании связанных апплетов. Любой требуемые сценарии дополнений должны быть должным образом установлены в нормальных расположениях во время разработки сценариев так, чтобы Редактор сценариев мог найти их. [3314117]

  • Апплеты AppleScript теперь обрабатывают входящие события способом метода «первым пришел - первым вышел». До AppleScript 1.9.2 апплеты обработали входящие события способом метода «последним пришел - первым вышел». [2553648]

  • Неактивное возвращаемое значение обработчика может теперь быть вещественным числом. [3199911]

  • Вещественные числа могут теперь быть принуждены к целым числам, даже если у них есть ненулевая дробная часть. Округление используется, чтобы сделать приведение. [2849518]

  • month константы могут теперь быть принуждены к числам. [2396328]

  • date класс теперь имеет a short date string свойство. Формат короткой строки даты указан Международной предпочтительной областью. [2396328]

  • Были добавлены два новых типа: JPEG picture и GIF picture. [3251772]

  • zone класс был удален, так как EPPC по AppleTalk не поддерживается в Mac OS X. [2967694]

  • Когда не-URL machine имя указано, оно, как теперь предполагается, имя Рандеву вместо имени AppleTalk. [3113390]

Стандартные дополнения

  • choose application диалоговое окно теперь позволяет приложению быть выбранным путем ввода первых нескольких символов его имени. [3064133]

  • choose application диалоговое окно теперь выводит на экран имена локализованного приложения. [2970962]

  • choose application диалоговое окно теперь помнит свой размер и позицию. [3141005]

  • A choose color команда была добавлена, который выводит на экран диалоговое окно средства выбора стандартного цвета и возвращает выбранный цвет как список значений RGB. default color параметр указывает начальный цвет. По умолчанию начальный цвет является черным. [3160380]

  • choose file, choose file name, и choose folder команды теперь имеют a default location параметр, указывающий, какой каталог должен быть выведен на экран в диалоговом окне. [3143207]

  • choose file и choose folder команды теперь имеют invisibles параметр, указывающий, должны ли невидимые файлы и папки быть выведены на экран. Значение по умолчанию является истиной для choose file и ложь для choose folder. [2690829]

  • choose file и choose folder команды теперь имеют a multiple selections allowed параметр, указывающий, могут ли быть выбраны многократные элементы. Значение по умолчанию является ложью. [3254466]

  • choose file и choose folder команды теперь поддерживают Unicode и разработанные текстовые подсказки. [2836896] [3318664]

  • choose file и choose folder диалоговые окна больше не используют подсказку по умолчанию. Диалоговое окно будет только содержать подсказку, если Вы были указаны с помощью with prompt параметр. [2519050]

  • choose file name диалоговое окно теперь имеет новый заголовок и подсказку по умолчанию. [2519050]

  • delay команда теперь принимает вещественные числа. [2812515]

  • display dialog команда теперь поддерживает Unicode и может теперь вывести на экран больше чем 255 символов. [3077453]

  • do shell script команда теперь имеет as параметр, указывающий желаемый тип результата. Значение по умолчанию должно возвратить результат как UTF-8, если это возможно. Если as параметр не указан, и результатом не является допустимый UTF-8, результат будет возвращен как typeText. [3080630] [3157877]

  • Два новых свойства были добавлены к file information класс. kind свойство возвращает добрую строку элемента. bundle identifier если элемент является пакетом, свойство возвращает идентификатор пакета элемента. [2884166] [3274781]

  • info for команда теперь возвращается short version и long version для пакетов. [2913766]

  • load script команда теперь поддерживает новый связанный формат для скомпилированных сценариев и апплетов. [3177719]

  • offset команда теперь игнорирует регистр по умолчанию и почести considering и ignoring операторы относительно case и diacriticals. В результате этих изменений команда смещения теперь ведет себя то же как другие сравнения строк AppleScript относительно случая и diacriticals. В AppleScript 1.9.1 и ранее, команда смещения всегда рассматривает случай и не соблюдает рассмотрение и игнорирование операторов. Ожидающие сценарии offset всегда рассматривать случай должно будет добавить a considering case оператор для поддержания предыдущего поведения. [1068386]

  • path to команда теперь имеет a folder creation параметр, указывающий, должна ли папка быть создана, если это не существует. Значение по умолчанию должно создать папку, если это возможно. Если without folder creation указан, ошибка будет возвращена, если не будет существовать папка. [3315615]

  • path to команда теперь имеет следующие новые константы папки: папка приложений, папка документов, папка избранного, домашняя папка, папка библиотеки, папка фильмов, музыкальная папка, папка изображений, общедоступная папка, совместно использовала документы, совместно использованную папку документов, папку сайтов, папку утилит. [2650692]

  • path to команда теперь имеет a Classic domain постоянный, который может использоваться с from параметр. [2836501]

  • run script команда теперь поддерживает новый связанный формат для скомпилированных сценариев и апплетов. [3177719]

  • shutdown постоянная папка была переименована shutdown folder предотвратить беспорядок с shut down Команда Finder. [2748241]

  • store script команда может теперь сохранить в любой файл сценария формата включая новые связанные файлы сценария формата. Кроме того, store script может теперь создать новый файл сценария в связанном формате (скомпилированный сценарий или апплет) или формате ветви данных (только скомпилированный сценарий). При создании нового файла сценария расширение файла определяет, какой формат создается. Файлы сценария ветви ресурсов больше не могут создаваться с помощью store script но могут быть обновлены существующие. При хранении сценария в существующий файл файл должен быть файлом сценария; ранее, файл мог содержать что-либо и 'scpt' ресурс был просто добавлен к файлу. [3177719]

  • store script диалоговое окно теперь изменяемого размера и подвижно. [3148202]

  • store script диалоговое окно теперь имеет новый заголовок и подсказку по умолчанию. [2519050]

Инструменты командной строки

  • osacompile инструмент теперь поддерживает новый связанный формат для скомпилированных сценариев и апплетов. Если -o опция указана, и файл уже не существует, osacompile использует расширение файла для определения какой файл для создания. Если имя файла заканчивается .app, будет создаваться связанный апплет. Если имя файла заканчивается .scpt, будет создаваться связанный скомпилированный сценарий. Иначе, получающийся сценарий будет помещен в ветвь ресурсов и/или ветвь данных выходного файла в зависимости от того, что указаны другие опции. [3150246]

  • osacompile инструмент теперь имеет a -s (останьтесь открытыми), опция. Когда новый связанный апплет создается, эта опция только допустима. Опция указывает, что апплет должен остаться открытым после выполнения. [3231791]

  • osacompile инструмент теперь имеет a -u (используйте экранную заставку), опция. Когда новый связанный апплет создается, эта опция только допустима. Опция указывает, что апплет должен вывести на экран экранную заставку, когда запущено. [3231800]

  • osascript инструмент теперь поддерживает новый связанный формат для скомпилированных сценариев и апплетов. [3150246]

  • osascript когда ошибка происходит, инструмент теперь сообщает информацию диапазона символов. [3310364]

Исправления ошибок

AppleScript

  • В AppleScript 1.9.1 и ранее, пути alias объекты могут иметь проблемы, если они содержат символы неASCII. Это было фиксировано. [2765349]

  • Принуждение miles, yards, или feet к inches теперь приводит к корректному результату. Принуждение cubic yards или cubic feet к cubic inches теперь приводит к корректному результату. [3251787]

  • Приведения от typeUnicodeText к typeText или typeStyledText теперь обработайте символы метки порядка байтов правильно. [3115555]

  • Приведения от typeStyledText к typeUnicodeText теперь обработайте отказы приведения и предупреждения правильно. Когда основной язык установлен в корейский язык, в результате этого изменения сценарии в качестве примера могут теперь быть открыты в Редакторе сценариев. [3309458]

  • Пустое with timeout оператор больше не вызывает катастрофический отказ или переполнение стека. [2354124]

  • Пустое considering или ignoring оператор больше не вызывает катастрофический отказ или переполнение стека. [3243780]

  • Оператор paragraphs 2 thru -1 of "" больше не вызывает катастрофический отказ. [3342312]

  • Получение characters из очень длинной строки больше не вызывает переполнение стека. [3016960]

  • Получение text items из строки Unicode теперь работает правильно. [3136465]

  • Получение text items или paragraphs из пустой строки Unicode теперь возвращается {«»} вместо {}. [3198302]

  • Получение text items из строки теперь работает правильно когда text item delimiters установлены в {}. [3146794]

  • Произвольная форма ссылки на элемент some item не было очень случайно. Это было фиксировано. [3044302]

  • contains и ends with операторы теперь работают правильно над строками больше чем с 32 767 символами. Ранее, они всегда возвращали бы false, если бы они не находили соответствие в первых 32 767 символах строки. [3126655]

  • Операторы включения теперь работают правильно над строками Unicode, когда используется в ignoring punctuation оператор. Ранее, они не игнорировали знаки препинания правильно при выполнении сравнений строк. [3328867]

  • Включение и операторы сравнения теперь работают правильно над строками Unicode, когда используется в ignoring hyphens оператор. Ранее, они не игнорировали дефисы при выполнении сравнений строк. [3329084]

  • Включение и операторы сравнения теперь работают правильно над строками Unicode, когда используется в ignoring white space оператор. Ранее, они не игнорировали пробел при выполнении сравнений строк. [3330635]

  • Операторы включения теперь намного быстрее, когда используется на строках Unicode. [3204625]

  • Постоянные строки Unicode, указанные с помощью data класс (т.е. «data utxt») может теперь быть принужден к typeUnicodeText и больше не вызывайте катастрофический отказ, когда используется с & оператор. [3222690]

  • При определенных обстоятельствах, a run script команда в a tell application "Finder" оператор вызвал бы катастрофический отказ в предыдущих версиях AppleScript. Это было фиксировано. [3380899]

  • AppleScript может теперь скомпилировать начинающийся URLs https. [3113313]

  • AppleScript теперь компилирует числа, больше, чем 4294967295 правильно. Более старые версии AppleScript компилируют числа, больше, чем 4294967295 к их значению минус 4294967296. [3247815]

  • Математика экспоненты теперь корректна, когда питание больше, чем 32 767 и меньше чем 65 536. [3396181]

  • Добавление отрицательного числа к любой дате между 01.01.1904 0:00:00 и 19.01.1972 3:14:07 теперь приводит к корректному результату. [3160911]

  • Операции вычитания, включающие даты ранее, чем 01.01.1904 0:00:00 теперь, приводят к корректному результату. [2861317]

  • Арифметика дат, включающая спецификаторы объекта даты теперь, работает как ожидалось вместо того, чтобы сообщить об ошибке, говорящей, что объектный спецификатор не может быть принужден к дате. [3187787]

  • Если ошибка происходит при попытке соединиться с удаленной машиной, о фактической ошибке теперь сообщают. Ранее, ошибки соединения были преобразованы в универсальное сообщение, говоря, что не мог быть считан словарь приложения. [3209734]

  • Если ошибка компиляции происходит около конца длинного сценария (больше чем 32 767 символов), корректная строка теперь выделяется в редакторе сценариев. [3089998]

  • Наклонные черты влево в строках теперь работают правильно над японскими системами. [3390330]

  • Если сценарий говорит приложение, не работающее к quit, ничто не произойдет. В предыдущих версиях AppleScript приложение было бы запущено и затем сразу сказано для выхода. [2589455]

  • AppleScript больше не отказывает при попытке разгрузить OSAX, записанный в Objective C. [3193941]

  • Был фиксирован катастрофический отказ, который произошел бы при определенных обстоятельствах после сборки «мусора». [3369338]

  • Утечки памяти были фиксированы. [3254901]

  • Несколько неправильных сообщений об ошибках были фиксированы, и было добавлено недостающее сообщение об ошибке. [3020705] [3290768]

  • Форматирование AppleScript по умолчанию было изменено. [3032595], Если Вы уже использовали AppleScript на данной машине, Вы не заметите это изменение, если Вы не сделаете ни одного следующего:

    • выберите Use Defaults из диалогового окна Formatting в Редакторе сценариев

    • удалите свои предпочтения AppleScript

    • установите нового пользователя (или войдите в систему на учетной записи пользователя, никогда не использовавшей AppleScript),

    • сделайте чистую установку операционной системы, не сохраняя или сохраняя пользовательские настройки

Стандартные дополнения

  • display dialog диалоговое окно теперь обрабатывает Возврат, Войдите, и клавиши Esc правильно. [3044290] [3096706]

  • display dialog команда теперь сообщает об ошибке если default button параметр устанавливается на 0, отрицательное число или число, которое больше, чем общее количество кнопок. [3051124]

  • display dialog если запись указана как текст для отображения, команда теперь сообщает об ошибке. [3142086]

  • do shell script with administrator privileges теперь различает отмененную аутентификацию и неудачную аутентификацию. [3070647]

  • do shell script with administrator privileges если у администраторского пользователя нет пароля, больше не сообщает об ошибке аутентификации. [2882577]

  • info for команда больше не возвращается folder window для пакетов. visible свойство теперь корректно для элементов, имя которых начинается с периода. [2884166]

  • list folder команда больше не разрушает, когда дали файл вместо папки. [3267269]

  • list folder without invisibles больше элементы списков, имя которых начинается с периода. [2767663]

  • В определенных ситуациях, open for access команда попыталась бы создать файл, уже существовавший, который приведет к “двойному имени файла” ошибка. Это было фиксировано. [2827608]

  • open for access команда может теперь создать файл, имя которого содержит наклонные черты или двоеточия (какой бы ни не собственный разделитель пути для стиля пути в использовании). [3267270]

  • path to команда теперь работает правильно со следующими константами папки: startup, startup items, startup items folder. [2650692]

  • Сценарии, использующие path to frontmost application команда теперь получит корректный путь, когда выполнено из меню Script. Ранее, команда возвратила бы путь к Системным событиям. [3084984]

  • read когда файл содержит текст Unicode и, команда теперь работает правильно before, until, или using delimiter параметры были указаны. [3013987]

  • Если run script команда встречается с ошибкой при компиляции сценария, она теперь сообщает о фактической ошибке вместо универсальной ошибки сценария. [2304013]

  • Проблема, вызвавшая say команда для зависания была фиксирована. [3196145]

  • set volume команда теперь устанавливает уровень громкости правильно. [3268130]

  • the clipboard теперь работы правильно, если as параметр указан. Ранее, as параметр был почти полностью проигнорирован. [3255134]

  • the clipboard теперь работы правильно, если as параметр не указан. Если буфер обмена содержит только один элемент, тот элемент возвращается. Если буфер обмена будет содержать многократные элементы, и по крайней мере один из элементов является текстом, то текстовый элемент высшего качества будет возвращен. Текст Unicode предпочтен по стилизованному тексту, предпочтенному по простому тексту. Если буфер обмена содержит многократные элементы, но ни один из элементов не текст, элементы возвращаются как запись. [3334818]

  • Были фиксированы несколько ошибок в Стандартном Дополнительном словаре. [2696269] [3034675] [3152145] [3292454] [3311842]

Mac OS X v10.3.2 - AppleScript 1.9.3

AppleScript 1.9.3 включен с версией 10.3.2 Mac OS X и требует версии 10.3 Mac OS X или позже.

Разработчик отмечает

  • Если текст будет пустой строкой, в AppleScript 1.9.2, принуждая AEDesc к тексту Unicode перестанет работать. Это было фиксировано. [3439141]

Исправления ошибок

AppleScript

  • В AppleScript 1.9.2, with timeout если тайм-аут истекает, оператор не возвращает ошибку. Это было фиксировано. [3457829]

  • При использовании японско-основной системы сценарии, компилирующие правильно с AppleScript 1.9.1, могут не скомпилировать с AppleScript 1.9.2. Это было фиксировано. [3419243]

  • В AppleScript 1.9.2, сохраняя пустой сценарий с Редактором сценариев 2.0 приведет к катастрофическому отказу. Это было фиксировано. [3421468]

  • В AppleScript 1.9.2, с помощью XCode для открытия нового .applescript файл, создававшийся Интерфейсным Разработчиком, приведет к катастрофическому отказу. Это было фиксировано. [3454301]

  • Отладка AppleScript Studio была улучшена. [3467973] Примечание, отладка AppleScript Studio требует Xcode 1.1.

Стандартные дополнения

  • В AppleScript 1.9.2, mount volume команда перестанет работать, если имя пользователя не будет указано, и объем не предоставляет гостевой доступ. Это было фиксировано. [3464919]

Mac OS X v10.3.5 - Стандартные Дополнения 1.9.4

Стандартные Дополнения 1.9.4 включены с версией 10.3.5 Mac OS X и требуют версии 10.3 Mac OS X или позже. Это содержит улучшения set volume команда, а также новое get volume settings команда. Обратите внимание на то, что только Стандартные Дополнения изменились в этом выпуске, время выполнения AppleScript не изменилось, и его номер версии остается 1.9.3.

Новые функции и улучшения

Стандартные дополнения

  • Новое get volume settings команда была добавлена, который возвращает рекордное, содержащее информацию о текущих параметрах громкости. [3467967]

  • set volume команда теперь имеет четыре новых параметра, позволяющие пользователю установить output volume, input volume, alert volume, и бесшумная установка (output muted). Прямой параметр теперь осуждается. Если прямой параметр указан, все другие параметры проигнорированы. [3563760]

Исправления ошибок

Стандартные дополнения

  • set volume команда теперь устанавливает уровень громкости правильно. [3268130] [3479316]