因此,您的實際問題只是如何從AppleScriptObjC記錄錯誤:
AppleScriptObjC將登錄腳本扔在控制檯的任何錯誤 - 只要看看在Xcode中底部窗格中。例如,在你的情況下,你應該看到類似「«腳本」的東西不理解«aevtstvl»消息。「(這不是很清楚,但它告訴你,你的腳本發送了一個set volume
命令給腳本對象,如果你想自己捕獲並記錄錯誤,你可以在try
/on error
區塊中放入麻煩的部分,並在錯誤處理程序中自己處理它。
如果你感到額外的好奇,你也可以打開NSScriptingDebugLogLevel
偏好,就像這樣:
defaults write com.me.myapp NSScriptingDebugLogLevel 1
...和AppleScriptObjC將記錄信息有關的每個消息發送過橋兩種方式。 (將其設置爲0或使用defaults delete
將其關閉。)
這是錯誤日誌記錄。現在,你實際上並沒有問,但我還是要去回答,是「我如何解決我的set volume
命令?」
短版:新增tell current application to
:
tell current application to set volume output volume 50
是的,對於「新」量參數的範圍是0到100的舊兼容性一個從0到7
長版(爲什麼舊的控制面板的音量滑塊有8個站?):
有缺省目錄之間的不良交互等參數和set volume
的處理。當使用AppleScriptObjC時,「它」,並因此默認的直接參數,除非另有說明,是當前的腳本,並窒息在那。您可以通過說tell current application to
強制「它」成爲一無所獲。 (或者,您可以通過使用舊式表格set volume x
給出明確的直接參數,其中x
是從0到7的實數。但是,這與您從get volume settings
獲得的數字不匹配,只能讓您設置輸出音量,並且不會讓您將事物設置爲「靜音」。)
順便說一句,如果你的AppleScriptObjC項目非常簡單(特別是如果你不需要任何接口),你可以直接在AppleScript Editor中編寫它:選擇File> New from Template> Cocoa-AppleScript Applet,並使用正常的AppleScript on run
和on open
處理程序,但現在您可以調用Cocoa中的任何東西。
1)蘋果不喜歡設置音量的應用程序(Apple的人機界面指南再次打擊)2)我相信最大值爲10,而不是50 50. – 11684 2013-03-24 08:01:33
我已經得到它作爲一個簡單的applescript,只是不作爲applescript objc應用程序...我很確定100是最大值,但也許這是問題將嘗試和設置音量0到10 – 2013-03-25 08:17:25
這並沒有工作,它是0到100 – 2013-03-25 18:04:36