2012-11-27 47 views
0

工作,這在蘋果的應用程序的腳本正常工作:簡單的系統事件的AppleScript不會NSAppleScript

tell application "System Events" to key code 124 using command down 

但在NSAppleScript它的錯誤「鍵碼。」引號被正確地轉義,幾種不同的語法都做同樣的事情。在應用程序中有前面的東西來激活接收按鍵的應用程序,但在項目中不需要它,如果它在那裏編譯,那麼NSAppleScript很明顯正在拾取字典。我很難過。

回答

0

我可以運行此代碼沒有錯誤。結果和errorDict都記錄爲空,所以沒有問題。你必須有其他問題......這不是蘋果的問題。

NSString* cmd = @"tell application \"System Events\" to key code 124 using command down"; 
NSAppleScript* theScript = [[NSAppleScript alloc] initWithSource:cmd]; 
NSDictionary* errorDict = nil; 
NSAppleEventDescriptor* result = [theScript executeAndReturnError:&errorDict]; 
[theScript release]; 
NSLog(@"result: %@", result); 
NSLog(@"error: %@", errorDict); 
+0

代碼與你的相同,但對於變量名,我從調試器得到的是: '2012-11-28 11:25:50.325 ********** [10521:303]腳本=使用命令告訴應用程序「System Events」鍵入代碼124使用命令下載 2012-11-28 11:25:50.817 ********** [10521:303] NSAppleScriptErrorBriefMessage =標識符不能跟在此之後屬性。 2012-11-28 11:25:50.817 ********** [10521:303] NSAppleScriptErrorNumber = -2740 2012-11-28 11:25:50.818 ********* * [10521:303] NSAppleScriptErrorRange = NSRange:{36,8}' 計數字符,它標記爲「鍵碼」作爲問題標識符 –

+0

你是對的,它不是蘋果。見下文。 –

1

想通了。應用程序使用跨腳本授權進行沙盒處理,系統事件應用程序沒有軟件包標識。