我想使用的某個API只能與AppleScript一起使用來從應用程序請求信息。我想構建一個MacOSX應用程序,我可以在這個應用程序中使用蘋果腳本嗎?有沒有解決蘋果腳本的問題?我可以在MacOSX應用程序中使用蘋果腳本命令嗎?
謝謝!
我想使用的某個API只能與AppleScript一起使用來從應用程序請求信息。我想構建一個MacOSX應用程序,我可以在這個應用程序中使用蘋果腳本嗎?有沒有解決蘋果腳本的問題?我可以在MacOSX應用程序中使用蘋果腳本命令嗎?
謝謝!
不要打擾NSAppleScript
:這是一個正確的PITA用於進出傳遞數據,你不得不打包自己解壓每個NSAppleEventDescriptor
。在Cocoa應用程序中調用AS的最簡單方法是通過AppleScript-ObjC bridge - 它可以讓ObjC代碼像本機方法一樣調用AS處理程序(反之亦然),併爲您執行AS-ObjC值轉換。
直接從ObjC /雨燕送蘋果公司發生的其他選項:
的MacOS的ScriptingBridge框架,它是殘缺的,糟糕和可怕的混淆,但可能就足夠了瑣碎的任務(通過ASOC仍然是最安全的,並儘管最健壯的選擇)
SwiftAutomation framework我正在開發的目標是在新的一年中將其投向蘋果。這是一個新的代碼庫,我仍然在剔除bug,但是設計從appscript下載,這已經證明了它是真實世界中十幾年使用AppleScript的真正替代品。
順便說一句,如果SwiftAutomation是您感興趣,請在bugreport.apple.com文件功能請求,要求蘋果公司採用它,包括在10.13。他們獲得的重複票越多,他們就越有可能注意。
如果您只想通過AppleScript與其他應用程序通話,這可能與在NSAppleScript
類中使用幾個API一樣簡單。
E.G.
initWithSource:
(我假設的Objective-C,但當然也有斯威夫特當量)和executeAndReturnError: