Получение ошибки тайм-аута при использовании suspendExecution и возобновитьExecutionWithResult с NSScriptCommand

В настоящее время я использую команды suspendExecution и resumeExecutionWithResult NSScript для асинхронного выполнения сценариев Apple в моем приложении. Ниже приведен набор основных шагов, которые я предпринял для достижения того же.

1) Получите команду сценария и сохраните ее в IVAR. Теперь приостановите выполнение команды с помощью [NSScriptCommand suspendExecution]

2) Выполнять любые вызовы транзакций, которые будут возвращать результаты асинхронно.

3) В completionHandler асинхронного вызова возобновите выполнение с извлеченными результатами, т.е.

[NSScriptCommand resumeExecutionWithResult:result]

Упомянутые выше шаги прекрасно работают, когда я запускаю сценарии из редактора сценариев. но использование объекта NSAppleScript (при выполнении сценариев, скажем, из меню сценариев) для выполнения тех же результатов приводит к следующей ошибке

"AppleEvent timed out. Error Number: -1712"

Ошибка тайм-аута возникает почти мгновенно. Любые указатели на то, как эту проблему можно исправить, будут очень признательны.


person sandeep593    schedule 17.01.2014    source источник


Ответы (1)


Я обнаружил, что использование NSUserAppleScriptTask (доступно в SDK 10.8) вместо NSAppleScript для выполнения сценария Apple решает эту проблему.

person sandeep593    schedule 22.01.2014