10.1 Изменения
Эта статья описывает изменения в AppleScript и связанных инструментах в Mac OS X v10.1 и его обновления.
Mac OS X v10.1 - AppleScript 1.7
AppleScript 1.7 включен с версией 10.1 Mac OS X и требует версии 10.1 Mac OS X или позже.
Разработчик отмечает
Возвращаемое значение от
OSAScriptError()функционируйте исторически возвратил ошибочный диапазон, который был записью двух коротких целых, и поэтому не мог точно сообщить об ошибках в сценариях дольше, чем 32K. AppleScript 1.7 возвращает запись дваtypeLongIntegerзначения. Существующий код, получающий эти значения какtypeLongIntegerбудет теперь работать правильно; приложения, попросившие коротких целых, будут продолжать получать ошибочные результаты на длинных сценариях и должны быть пересмотрены для размещения нового возвращаемого значения.Для поддержки более широкого разнообразия источников текста сценария компилятор в AppleScript 1.7 принимает все три распространенных стиля окончаний строки: стиль Macintosh (возврат каретки, ASCII 13), стиль UNIX (перевод строки, ASCII 10) и стиль Windows (CRLF, ASCII 13-ASCII 10). Декомпилируемый источник будет продолжать быть стилем Macintosh.
Каждое событие, отправленное AppleScript в приложение или дополнение сценариев теперь, включает
enumConsidsAndIgnores('csig') припишите, чье значение является atypeUInt32битовое поле с набором битов для каждого рассмотрения или игнорирует в настоящее время в действительности. Константы маски определяются вASRegistry.h. Этот атрибут obsoletes более староеenumConsiderationsатрибут, который трудно интерпретировать, неполный, и только отправляется с событиями, содержащими awhoseпункт.kAESaveиkAECloseСобытия Apple были определены в Реестре События Apple для принятия atypeAliasзначение в ихinиsaving inпараметры. Это технически неточно, поскольку сценаристы могут указать файлы, не существующие для этих параметров, иtypeAliasне может представлять не существующий файл. Историческое решение состояло в том, чтобы предоставить atypeFSSзначение (или acFileзначение, принужденное к atypeFSS) и создайте файл с помощью спецификации файла. В Mac OS X, однако, спецификации файла не являются допустимыми значениями в событиях Apple, поскольку они не могут представлять долго или имена файлов Unicode и не обязательно допустимы через процессы. Для AppleScript 1.7 и позже, приложения должны получить эти параметры какtypeFileURLи используйте пример кода, предоставленный в Технических замечаниях TN2022, чтобы найти или создать файл, который это представляет.
Новые функции и улучшения
Программа, Соединяющаяся: Программа, Соединяющаяся теперь, работает между машинами Mac OS X, а также между Mac OS 9 и машинами Mac OS X. При предназначении для приложений, работающих на машине Mac OS X, необходимо использовать сети TCP/IP и обращение; AppleTalk не поддерживается. (Кроме того, AppleScript 1.7 теперь поддерживает кодирование имени для входа в систему и пароля в eppc URL.) Для машины Mac OS X для ответа на Программу, Соединяющую запросы, Позвольте Удаленные События Apple, должен быть включен в панели Sharing Установок системы.
SOAP и Поддержка XML-RPC: AppleScript может теперь использовать Интернет-приложения в качестве целей
tellблоки. URL для ссылки приложения должен быть корректный URL для SOAP (Простой протокол доступа к объектам) или XML-RPC (Вызов удаленной процедуры расширяемого языка разметки) веб-сервер. Синтаксис:Альтернативный синтаксис:
когда сценарий будет скомпилирован, но эта форма будет преобразована в форму выше.
Расширения файла: Как большинство других функций Mac OS X, AppleScript теперь поддерживает расширения файла (а также исторические типы файлов) на всех видах файла, с которыми он имеет дело. Типы файлов для AppleScript:
Апплеты: До AppleScript 1.4.3 приложения сценария (апплеты) были сохранены в универсальном формате, работавшем и над находящимся в 680x0 и над модели Пауэра ПК-бэзеда Макинтоша. Поскольку тот формат был находящимся в 680x0, он не будет работать над Mac OS X, таким образом, формат апплета Mac OS X был представлен в AppleScript 1.4.3. С улучшениями Mac OS X с этого времени, теперь возможно произвести приложение сценария, продолжающее работать находящееся в 680x0, Mac OS Пауэра ПК-бэзеда 9, и конфигурации Mac OS X. Редактор сценариев 1.7 снова предложения только один выбор для сохранения приложений сценария. Более старые форматы продолжают работать над конфигурациями, для которых они были сохранены.
Инструменты командной строки:
osacompileиosascriptинструменты теперь имеют включать опцию (-i) это позволяет Вам указывать терминологию приложения, которая будет использоваться при компиляции данных сценариев. Это освобождает Вас от необходимости указать приложения вtellблоки в самом сценарии. Можно также использовать это для указания статической терминологии для приложения с динамическими условиями, таким образом, можно препятствовать тому, чтобы то приложение было запущено, при компиляции сценария.
Исправления ошибок
AppleScript
В AppleScript 1.5 до 1,6, глобальные переменные сценария могли быть потеряны при определенных редких обстоятельствах. Если сценарий содержит a
tellблок, предназначающийся для переменной, и что переменная указывает приложение, не существующее, “Где является приложением AppName?” диалоговое окно было бы представлено, когда выполняется сценарий. После той точки, дальнейших ссылок на глобальные переменные в обработчике, включавшемtellблок перестал бы работать. Это было фиксировано.В AppleScript 1.5 и 1.6 для Mac OS X, пишущий сценарий дополнений вел себя существенно по-другому, чем в Mac OS 9: они были только установлены в AppleScript-знавших определенных приложениях. Если дополнительная команда сценариев (такой как
display dialog) был отправлен в приложение, не AppleScript-знавшее, событие будет вместо этого выполняться в приложении, выполняющем сценарий (например, Редактор сценариев); это означает, что диалоговое окно подошло бы в уровне Script Editor, неtellцелевое приложение. В AppleScript 1.7 для Mac OS X дополнительный механизм сценариев был перепроектирован для поведения больше как Mac OS 9, и дополнительные команды сценариев, отправленные в приложения, будут выполняться в пространстве процесса и уровне окна целевого приложения.AppleScript 1.5 через 1,6 часто запускаемых приложения излишне, чтобы получить их терминологию, и часто использовал терминологию сценария, редактируя приложение (такое как Отладчик сценариев) вместо терминологии приложения. Это было фиксировано.
В AppleScript 1.5 до 1,6 для Mac OS X,
versionсвойство AppleScript или приложения было бы выведено на экран как необработанные данные, а не строка (если свойство версии не было явно преобразовано в строку). Это было фиксировано.В AppleScript 1.5 и 1.6 для Mac OS X, определенных операций с
fileобъектные спецификаторы (например.file "Mac OS X:Applications:Terminal.app:" as alias) когда подобные операции успешно выполнятся на AppleScript 1.3 до 1,6 для Mac OS 9, перестал бы работать. Эти операции теперь работают в AppleScript 1.7 на Mac OS X. Обратите внимание на то, что, как всегда, в то время как можно передать afileобъектный спецификатор в качестве параметра к событию, или выполняют определенные операции на нем (как присвоение и приведение), просто оцениваяfile "pathname"самостоятельно ошибка AppleScript.AppleScript 1.5 и 1.6 для Mac OS X не мог предназначаться для Mac OS 9 панелей управления, работающих в Классической среде. Это было фиксировано. Обратите внимание на то, что Классическая среда только поддерживает небольшое количество панелей управления от Mac OS 9 (таких как Средство запуска).
Доступ
paragraphsесли окончания строки были стилем Windows (CRLF), из AppleScript строки не работали правильно в AppleScript 1.5 до 1,6. Результатом была бы только первая половина абзацев текста, вкрапленных равным количеством пустых строк. Это было фиксировано.Иногда с AppleScript 1.5 и 1.6, перекомпилировав сценарий получил бы “конец файла” ошибка при чтении терминологии приложения. Это было фиксировано.
В AppleScript 1.6, при определенных обстоятельствах, вызывая обработчик в незапущенном апплете мог вызвать, “Не может продолжать” ошибку. Это было фиксировано.
В AppleScript 1.6 текстовые значения Unicode, сохраненные в свойствах сценария сохраненного сценария, не могли быть перезагружены надежно. Это было фиксировано.
В AppleScript 1.6 текст Unicode получил от определенных приложений, включавших метку порядка байтов Unicode, будет вести себя неправильно; текст, казалось бы, начался бы с Европейского символа, и некоторые операции перестанут работать. AppleScript 1.7 обрабатывает текст Unicode с метками порядка байтов правильно.
Даже если обе ссылки относятся к тому же файлу, при несколько редких обстоятельствах, сравнивая две ссылки на тот же файл для равенства может перестать работать. Это - истина в AppleScript 1.0 до 1,6 и было фиксировано в AppleScript 1.7.
В AppleScript 1.5 и 1.6, рабочий апплет AppleScript станет небыстро реагирующим к любым событиям (кроме периода команды) после обработки больше чем одного входящего события. Это было фиксировано.
Стандартные дополнения
Все диски, отформатированные как Улучшенная Файловая система Macintosh (HFS Плюс), в состоянии хранить файлы с именами файлов, больше, чем 32 символа и сохраненными как текст Unicode. Когда более старое программное обеспечение получает доступ к таким файлам, те имена представлены в закодированной форме (с чем-то как
#28AFна имя). С AppleScript 1.6 и ранее, результаты многих команд Standard Additions (какpath to,info for, иlist folder), а также создание и дисплейaliasобъекты, потребовали бы и возвратили бы закодированные имена. В AppleScript 1.7, долго и именах файлов Unicode в псевдонимах и для сценариев дополнений представлены текстом Unicode или стилизованным. Закодированные имена файлов больше не поддерживаются.В Mac OS X v10.0 до 10.0.4,
choose file nameкоманда в Стандартных Дополнениях 1.6 разрушила бы, если дали пустую строку (»») как имя файла по умолчанию. Это было фиксировано. Кроме того, на Mac OS X имя файла по умолчанию может быть строкой Unicode.choose from listкоманда в Сценариях Дополнений 1.4 до 1,6 позволила сценаристу создавать ситуацию, куда это возвратило бы пустой выбор, даже если бы сценарист в частности запретил тот случай. (Это может быть сделано путем предоставления элемента по умолчанию, не появляющегося в списке). В Сценариях Дополнений 1.7 и позже, кнопка OK не будет включена в таких случаях.В версиях Стандартных Дополнений до 1,7,
choose URLкомандаusing editable URLпараметр присутствовал в Дополнительном словаре Сценариев, но был нефункционален (URLs был всегда доступен для редактирования независимо от установки параметра). Это теперь ведет себя правильно: если установлено в ложь, пользователь может выбрать URL только путем просмотра, не путем редактирования URL в текстовом поле.В Mac OS X,
info forкоманда теперь возвращает дополнительные рекордные элементы, предоставляющие информацию о расширениях файла.displayed nameэлемент возвращает имя элемента, поскольку пользователь видит его в Средстве поиска или диалоговых окнах файла, иname extensionэлемент теперь возвращает расширение файла (если таковые имеются), который находится на обозначенном файле (без «.», который считают разделителем, и не частью или имени или расширения). Оба из этих полей (вместе сnameсамо поле), текстовые значения Unicode.Mac OS 9.1 и Бета Общественности Mac OS X представил понятие пакета, т.е. файл, составленный из папки нескольких файлов и папок, который обрабатывается как интегральный файл Средством поиска и другими приложениями.
info forкоманда в AppleScript 1.6 и ранее обработанный такие упакованные файлы применения данных как папки, не файлы, и не возвратила бы файл - или связанная с приложением информация о них. В Стандартных Дополнениях 1.7 и позже, получая информацию для любого каталога (включая папки пакета) возвращает дополнительный рекордный элементpackage folder(если это булево значение является истиной, то каталог является пакетом), и тип и создатель файла.В Стандартных Дополнениях 1.6 и ранее,
info forесли бы какие-либо данные в требуемом файле или каталоге были недоступны, сценарии дополнения перестали бы работать. На UFS (Mac OS X) диски и смонтированные объемы NFS, дата создания файла недоступна, и доступ к нему вызывает-8850 ошибок (в попытке преобразовать его во Всемирное время). Начиная со Стандартных Дополнений 1.7, любые недостающие данные вinfo forрезультат предоставлен как значениеmissing valueбез отказа. В AppleScript 1.6 и ранее, сравнения величины (<, ≤,>, ≥) противmissing valueсигнализировал бы ошибку приведения для большинства типов; в 1,7 и позже, всегда возвращаются эти сравненияfalseбез ошибки. Эти два изменения гарантируют этому сценарии то использованиеinfo forпротив UFS и NFS не перестали работать объемы, хотя они могут не получить корректные результаты, потому что любое сравнение с датой создания всегда является ложью.В Стандартных Дополнениях 1.6 и на Mac OS 9 и на Mac OS X,
info forкоманда возвратила бы ошибку-1401 для несуществующего файла, а не нормальные-35 возвратились в предыдущих версиях. В Стандартных Дополнениях 1.7, пытаясь получить информацию для несуществующего файла (или файла в несуществующем каталоге или недоступном диске) возвратит-35 ошибок.От AppleScript 1.1,
offsetкогда прямой параметр является разработанным текстом, команда не работала правильно. Это также не работало правильно с недавно представленнымUnicode textввести. Это теперь приводит к корректным результатам и с разработанным текстом и с текстом Unicode.Стандартные Дополнения 1.5 до 1,6 изменили способ, которым семя случайного числа работало в
random numberкоманда. Если никакое значение семени (или значение семени 0) не были предоставлены, более старые версии использовали системные часы в качестве значения семени; Сценарии Дополнений 1.5 и 1.6 всегда используют значение семени 0 в этих случаях. В Сценариях Дополнений 1.7 было восстановлено более старое поведение. Кроме того, значение семени теперь принято от счетчика «галочек» на 60 Гц, а не системных часов, потому что увеличенная скорость новых машин делает его более вероятно этим два последовательныхrandom numberвызовы могут получить ту же систему, показывают время как их значение семени.readкоманда в Сценариях Дополнений 1.6 имела определенные проблемы сusing delimitersпараметр. В предыдущих версиях,read f as list using delimiters {tab}возвратил бы список, но в AppleScript 1.6, он возвращает список списков с одним элементом. В AppleScript 1.7 и позже это ведет себя, как это сделало до версии 1.6readкоманда в Сценариях Дополнений 1.6 имела определенные проблемы сbeforeиuntilпараметры, если используется в сочетании сasпараметр. Вместо того, чтобы возвратить значение данного типа, это возвратило бы случайные данные или ошибку. Это было фиксировано.
Инструменты командной строки
Для
osacompileиosascriptинструменты, требование, что они быть вызванным с полными путями (т.е./usr/bin/osacompile) был устранен. Они могут теперь быть вызваны с неявными путями как любой другой инструмент командной строки.В Mac OS X v10.0.0 до 10.0.4,
-lи-dопции дляosalangинструмент не работал, как задокументировано. В Mac OS X v10.1 и позже,-lраспечатывает подтип, производителя, флаги и имя; и-Lтакже распечатывает описание в круглых скобках после имени.osacompileиosascriptинструменты ранее имели предел 32K входного текста. Этот предел был снят в Mac OS X v10.1.osacompileиosascriptинструменты выполняются как фоновые приложения; они не могут включить пользовательский интерфейс. Если Вы хотите вызватьdisplay dialog,choose from list, или другие дополнения сценариев пользовательского интерфейса из сценария, выполняемогоosascript, необходимо включить его в atellблок, предназначающийся для запущенного приложения (такого как Средство поиска).
Обновление инструментов разработчика декабря 2001 - AppleScript 1.8
AppleScript 1.8 для Mac OS X включен с Обновлением Инструментов Разработчика в декабре 2001 и требует версии 10.1 Mac OS X или позже.
Разработчик отмечает
В Mac OS X v10.1 и 10.1.1, пишущий сценарий дополнений вызвали бы их функцию инициализации во время запуска приложения, но их функции завершения не будут вызваны, когда приложение выйдет. Сценарии дополнений, использовавших системные ресурсы, не получат шанс высвободить те средства. Когда приложение выходит, каждая дополнительная функция завершения сценариев теперь вызвана. [2811696]
Новые функции и улучшения
AppleScript
Для обеспечения лучшего доступа к базовой функциональности UNIX Mac OS X AppleScript 1.8 добавляет новую команду Standard Additions (
do shell script), новое свойство файла (POSIX path), и новый объект (POSIX file).
Стандартные дополнения
Новое
do shell scriptкоманда и scriptable Терминал позволяют сценариям AppleScript выполнять строки текста как сценарии оболочки UNIX. Много интересных команд оболочки действуют на файлы и требуют путей к файлам стиля POSIX как входных параметров. Создать пути к файлам стиля POSIX из объектов файла AppleScript, свойстваPOSIX pathбыл добавлен кfileиaliasклассы. Все типы файлов, включаяfile specificationиfile reference, поддерживайте это свойство. Его использование является прямым:do shell scriptкоманда и scriptable Терминал позволяют AppleScript выполнять сценарии оболочки UNIX и получать результаты как строки текста. Часто эти строки являются путями файлов в формате UNIX, т.е. запускающийся в корне с имен каталогов, разделенных наклонными чертами вправо. Для преобразования этих путей POSIX в объект файла AppleScript можно использовать новоеPOSIX fileобъект:
Новое
do shell scriptкоманда берет строку в качестве своего прямого параметра и выполняет ту строку в оболочке UNIX. Текст может быть чем-либо от единственной команды с параметрами к длинному сценарию. Результаты выполнения сценария (стандарт) возвращаются как результат команды; если существует ошибка (или никакой вывод), вывод ошибок (стандартная погрешность) возвращаются как сообщение об ошибке и может быть обработан в AppleScripton errorобработчик. Обратите внимание на то, что среда, в которой выполняется сценарий оболочки, является отдельным процессом в группе процесса пользователя и не имеет терминала установленным, так команды, требующие взаимодействия (vi,top) не будет функционировать. Нет никакого пути в настоящее время для направления любой информации к стандарту в сценария оболочки. Отметьте также этоdo shell scriptиспользованиеshоболочка, отличающаяся, чем значение по умолчаниюtcshоболочка используется в Терминале. Пути команды и переменные окружения отличаются вsh; необходимо будет скорректировать сценарии оболочки соответственно.system attributeкоманда была расширена для предоставления информации о переменных окружения пользователя. Они устанавливаются в пользовательское время входа в систему и не могут быть изменены. Если прямой параметр к системному атрибуту является кодом Гештальта с четырьмя символами, это выполняется как в Стандартных Дополнениях 1.7; в противном случае это пытается получить переменную окружения тем именем, возвращаясь или значение переменной или пустую строку. (Обратите внимание на то, чтоsystem attributeтеперь не перестанет работать с ошибкой; это просто возвращает пустую строку.), Если вызвано без параметров,system attributeвозвращает список всех определенных в настоящее время переменных окружения.
Исправления ошибок
AppleScript
AppleScript 1.7 не мог выполнить определенные операции на именах файлов или путях к файлам, содержащих определенные символы (такие как символы с диакритикой как é). Это было фиксировано. [2816363]
В AppleScript 1.7, ссылках на
processкласс Средства поиска на удаленной машине не работал. Это было фиксировано. Обратите внимание на то, что необходимо выполнять Mac OS X v10.1 или позже целевая машина, и Mac OS X v10.1.2 или позже машина, выполняющая сценарий. [2775419]С AppleScript 1.6 и 1.7, приложения, попытавшиеся преобразовать текст Unicode в простой текст, получат ошибку (хотя сам AppleScript мог выполнить такие преобразования успешно). Это предотвратило более старые приложения от способности использовать информацию (такую как имена файлов), который теперь предоставляется как текст Unicode. Это было фиксировано. [2816500]
Определенные среды разработки могут создать сценарии, родитель которых является объектом приложения, а не сценарием верхнего уровня. Попытка получить любые родительские свойства таких объектов (включая информацию, возвращенную
OSAGetScriptInfo) заставил бы AppleScript отказывать. Это было фиксировано. [2755096]С AppleScript 1.7 в Mac OS X v10.1, апплетам, установленным показывать их запуск (всплеск) экраны иногда, не удавалось сделать так. Это было фиксировано в AppleScript 1.8. Приложения не должны быть перекомпилированы или повторно сохранены. [2756226]
Стандартные дополнения
В Стандартных Дополнениях 1.7, описание
choose applicationкоманда утвердила, что позволяет пользователям выбирать запущенное приложение. На Mac OS X это позволяет пользователям выбирать любое приложение, работая или нет. [2785713]В Стандартных Дополнениях 1.7, с помощью
mount volumeкоманда с именем сервера AppleTalk вon serverпараметр не работал. Это было фиксировано. [2656820]В Стандартных Дополнениях 1.7, если
path toкоманду требовали возвратить путь папки, не существовавшей (такой какscripting additions folder from local domain), это перестало бы работать. В предыдущих версиях, и теперь в 1,8 также, это создает папку и возвращает путь к создаваемой папке. Обратите внимание на то, что, если у пользователя не будет авторизации создать папку (например, не администратор и запрашивает несуществующую папку в домене System), то работа все еще перестанет работать. [2751119]В стандартных дополнениях 1.7,
store scriptкоманда отказала бы если нетinпараметр был предоставлен. Это было фиксировано. [2782590]Предыдущие версии Стандартных Дополнений неправильно перечисляют параметры для
store scriptкоманда. Оба прямой параметр (сценарий) иinпараметр (файл) является дополнительным. Если сценарий опущен, пустой сценарий сохранен в файле; еслиinпараметр опущен, пользователю предлагают имя файла. [2784735]
Инструменты командной строки
osacompileинструмент перестал бы работать, если предоставленный a-iпараметр, указывающий несуществующий файл. Это теперь более снисходительно и выпускает предупреждение, но продолжает компиляцию. [2796415]
Mac OS X v10.1.2 - AppleScript 1.8.1
AppleScript 1.8.1 включен с версией 10.1.2 Mac OS X и требует версии 10.1 Mac OS X или позже.
Исправления ошибок
AppleScript
В версии 10.1 и 10.1.1 Mac OS X, устанавливая определенное мультимедийное программное обеспечение (такое как Roxio Toast или QuickTime 5) заставил бы все апплеты AppleScript отказывать при запуске. Это было фиксировано. [2785067]
Обновление инструментов разработчика апреля 2002 - AppleScript 1.8.2
AppleScript 1.8.2 для Mac OS X включен с Обновлением Инструментов Разработчика в апреле 2002 и требует версии 10.1 Mac OS X или позже.
Новые функции и улучшения
AppleScript
do shell scriptкоманда и scriptable Терминал позволяют сценариям AppleScript выполнять строки текста как сценарии оболочки UNIX. Оболочка UNIX интерпретирует определенные символы особенно (включая одинарную кавычку, двойную кавычку, знак доллара, наклонную черту и наклонную черту влево). Для передачи текста, содержащего эти символы к оболочке, они должны быть заключены в кавычки для уведомления оболочки, чтобы обработать их буквально, вместо того, чтобы применить ее специальную интерпретацию. Свойствоquoted formбыл добавлен кstringиUnicode textклассы. Значение этого свойства является текстом, включенным в одинарные кавычки с любыми одинарными кавычками в строке (такими как апострофы в именах файлов) обработанный связью. В целом все пути к файлам POSIX и большинство текстовых параметров, предоставленных для окружения команд, должны быть заключены в кавычки. Общее использование этого находится в командах как:
Стандартные дополнения
Диалоговые окна для
display dialogиchoose from listтеперь подвижные модальные диалоговые окна и могут быть перемещены пользователем. [2845800]do shell scriptкоманда имеет новоеaltering line endingsдополнительный параметр. Когда этот дополнительный параметр опущен или истина, результатdo shell scriptбудет иметь окончания строки стиля Mac (CR, символ ASCII 13) и всегда завершаться CR; с этим дополнительным набором параметра ко лжи (т.е.without altering line endings), результаты будут иметь окончания строки стиля UNIX (LF, символ ASCII 10), и можете, или может не иметь завершения LF. Результаты по умолчанию совместимы с AppleScript 1.8.1, в то время какwithout altering line endingsсформируйтесь возвращает неизменный вывод сценария UNIX. [2850410]
Исправления ошибок
AppleScript
В AppleScript 1.8.1 и ранее, с помощью
text item delimitersизвлечь текстовые элементы из текста Unicode может заставить приложение отказывать. Это было фиксировано. [2848981]В AppleScript 1.6 до 1.8.1, сценарий, сравнивающий две строки Unicode, мог иногда разрушать приложение, выполняющее сценарий. Это было фиксировано. [2885328]
В AppleScript 1.8.1 и более ранних, определенных приложениях, выполняющих сценарии, может стать нестабильным при принуждении идентификаторов к строкам в жестких циклах. Это включает FaceSpan и приложения AppleScript Studio. Это было фиксировано. [2858324]
В AppleScript 1.8 и 1.8.1, не работает пункт меню Use Startup Screen в приложениях сценария. Это было фиксировано. [2844978]
В AppleScript 1.8 и 1.8.1 для Mac OS X, добираясь
POSIX pathсвойство каталога опустило бы завершающееся двоеточие. Это было фиксировано. [2851963]В AppleScript 1.1 и позже, загружая любой сценарий вызвал бы маленькую утечку памяти. Это было фиксировано. [2852866]
С AppleScript 1.8 и 1.8.1, некоторые приложения, создающие и/или выполняющие сценарии (такие как Отладчик сценариев) будут иногда отказывать при попытке получить определенную информацию о сценарии. Это было фиксировано. [2811897]
В AppleScript 1.8 и 1.8.1, некоторые приложения, выполняющие сценарии, предназначающиеся для себя, неожиданно откажут. Это было фиксировано. [2839367]
В некоторых редких случаях в AppleScript 1.8 (часто во время записи), имя приложения в a
tellоператор изменяется наAEServer. Это было фиксировано. [2822232]Во всех версиях AppleScript 1.5.5 и ранее, с помощью
someоператор на arecordвыбрать тип, не существующий в записи (например.some string of {a:2, b:3, c:{5, 7, 11}}) возвратил бы всю запись, а не ошибку. Это было фиксировано в AppleScript 1.6 для Mac OS 9, но не было фиксировано в Mac OS X до сих пор. [2842496]AppleScript 1.7 не мог открыться, сценарии экономили на Mac OS 9 любой версией AppleScript, если те сценарии содержали ссылки на приложения на удаленных машинах. AppleScript 1.8 может открыть те сценарии, но опускает первые два символа имени хоста. AppleScript 1.8.2 и позже правильно считает и выведет на экран ссылку приложения, создаваемую на Mac OS 9. [2781523]
Стандартные дополнения
Много команд в Стандартных Дополнениях 1.7 до 1.8.1 приняли новый стиль обработки входных параметров, относящихся к файлам. Это, как находили, перестало работать, когда используется в приложении
tellблоки с объектами приложения (такими как Средство поискаfileобъекты). Те команды были изменены для работы тяжелее для понимания ссылок на файл в приложениях. [2840037]display dialogкогда компьютер использует неанглийскую систему, команда теперь распознает определяемую пользователем кнопку с именем кнопки «Отмена» как кнопка отмены. [2765410]В Стандартных Дополнениях 1.7 до 1.8.1, с помощью длинных заголовков кнопки в
display dialogкоманда могла заставить текст запроса быть усеченным. Это было фиксировано. [2844857]Производительность
do shell scriptкоманда была значительно улучшена при выполнении длинных сценариев оболочки. [2853370]До стандартных дополнений 1.7,
list folderкоманда имела особый случай для принятия строки пути как ее прямой параметр (хотя она документируется для принятияalias). В Стандартных Дополнениях 1.7, этот особый случай был опущен, вызвав сценарии, использовавшие формуlist folder "Macintosh HD:"перестать работать. Этот особый случай был восстановлен. [2850766]В стандартных дополнениях 1.7 до 1.8.1,
open for accessкоманда не установила бы тип файла и создателя недавно создаваемых файлов. Это было фиксировано. [2836047]run scriptкоманда в Стандартных Дополнениях 1.5 до 1.8.1 не обрабатывалаinпараметр правильно при выборе компонента сценариев OSA. Это фактически выбрало бы первый компонент сценариев OSA, который не был названным тем. Это было фиксировано. [2889646]В стандартных дополнениях 1.7,
writeкоманда сигнализирует ошибку-50 (ошибка параметра), когда сценарий пытается записать пустую строку в файл. Это было фиксировано. [2823197]
Инструменты командной строки
В AppleScript 1.7 до 1.8.1,
osascriptинструмент усекает синтезируемый текст, если это содержит нулевой символ. Это было фиксировано. [2827241]
AppleScript 1.8.3
AppleScript 1.8.3 для Mac OS X доступен как независимое Обновление программного обеспечения и требует версии 10.1 Mac OS X или позже.
Исправления ошибок
AppleScript
В AppleScript 1.8.2 и ранее, использование операций AppleScript
text item delimitersесли разделители установлены в строковые значения Unicode, перестали работать. Это было фиксировано. [2895572]В AppleScript 1.8.2 и ранее, преобразовывая список значений к строке Unicode проигнорирует любой текст, кодирующий информацию в тех значениях, таким образом, получающаяся строка Unicode не будет корректна. Это было фиксировано. [2895579]
Стандартные дополнения
В стандартных дополнениях 1.6 до 1.8.2,
asпараметр дляreadиwriteкоманды не были обработаны правильно (особенно, если значение параметра былоshortили список). Это было фиксировано. [2751784, 2892057]