我有一个简单的苹果脚本如下:
tell application id "com.adobe.InDesign"
set sel to selection
end tell
这个脚本执行得很好,但是当 InDesign 显示Save Confirm Dialog时,如果我执行脚本,它会等待 2 分钟(默认苹果脚本超时)。
保存确认对话框
因此我指定超时如下:
tell application id "com.adobe.InDesign"
with timeout of 0.2 seconds
set sel to selection
end timeout
end tell
现在,如果我在AppleScript 编辑器中执行上述脚本,每件事都符合我的预期:
但是当我通过NSAppleScript以编程方式执行相同的脚本时,超时没有任何影响,程序等待 2 分钟:
NSDictionary *errorDict;
NSString *script =
@"tell application id \"com.adobe.InDesign\"\n"
@" with timeout of 0.2 second\n"
@" set sel to selection\n"
@" end timeout\n"
@"end tell\n"
;
NSAppleScript* scr = [[NSAppleScript alloc] initWithSource: script];
[scr executeAndReturnError: &errorDict];
附加描述:当我的可可代码正在执行时(当我的应用程序被阻止时)如果我在AppleScript 编辑器
中执行相同的脚本,那么我的可可代码在 2 分钟超时之前被解除阻止。似乎我的应用程序在苹果脚本超时行之前被阻止 [?]如何执行与AppleScript Editor相同的苹果脚本?任何帮助,将不胜感激。