現在、アプリケーションで Apple スクリプトを非同期に実行するために、NSScript コマンドのsuspendExecution
andを使用しています。resumeExecutionWithResult
以下は、同じことを達成するために私が取った一連の基本的な手順です。
1) スクリプト コマンドを取得し、IVAR に格納します。を使用してコマンドの実行を一時停止します[NSScriptCommand suspendExecution]
2) 結果を非同期的に返すトランザクション呼び出しを実行します。
3)completionHandler
非同期呼び出しの中で、フェッチされた結果で実行を再開します。
[NSScriptCommand resumeExecutionWithResult:result]
上記の手順は、スクリプト エディターからスクリプトを実行すると問題なく機能します。ただし、NSAppleScript
オブジェクトを使用して (スクリプト メニューなどからスクリプトを実行する場合)、同じ結果を実行すると、次のエラーが発生します。
"AppleEvent timed out. Error Number: -1712"
タイムアウト エラーはほぼ瞬時に発生します。この問題を修正する方法についての指針をいただければ幸いです。