私が使用したい特定のAPIは、AppleScriptでのみ動作し、アプリケーションからの情報を要求します。 MacOSXアプリケーションを構築したいのですが、このアプリケーションでAppleスクリプトを使用できますか?リンゴスクリプトを実装する回避策はありますか?AppleScriptコマンドをMacOSXアプリケーションで使用できますか?
ありがとうございます!
私が使用したい特定のAPIは、AppleScriptでのみ動作し、アプリケーションからの情報を要求します。 MacOSXアプリケーションを構築したいのですが、このアプリケーションでAppleスクリプトを使用できますか?リンゴスクリプトを実装する回避策はありますか?AppleScriptコマンドをMacOSXアプリケーションで使用できますか?
ありがとうございます!
はNSAppleScript
と気にしないでください:それは右ピタだとアウトデータを渡すためにあなたがパックに持っているようにし、すべてNSAppleEventDescriptor
を解凍してください。 Cocoaアプリケーション内でASを呼び出す最も簡単な方法は、AppleScript-ObjC bridgeです。これにより、ObjCコードでASハンドラをネイティブメソッド(またはその逆)と呼び、AS-ObjCの値変換を実行できます。
その他のオプション:不自由さ
のMacOSのScriptingBridgeフレームワーク、安っぽいと恐ろしく難読化されますが、些細なタスクを十分である(ASOCを経由して、まだ最も安全であるASとしかし、最も堅牢な選択)
SwiftAutomation framework私は新年にAppleにそれを投げようとしています。これは新しいコードベースであり、私はまだバグを打ち砕いていますが、実際の使用の10年に渡ってAppleScriptの真の代替手段であることが証明されたappscriptから設計が下ります。それを採用し、10.13に含めるアップルを求めbugreport.apple.com上
ところで、SwiftAutomationはあなたに興味がある場合は、してくださいファイル機能要求。チケットが複写されるほど、注意を払う可能性が高くなります。
AppleScriptのみで他のアプリと話したい場合は、NSAppleScript
クラスのカップルAPIを使用するのと同じくらい簡単です。
E.G.
initWithSource:
(私はObjective-Cのを想定していますが、もちろんスウィフト同等物がある)とexecuteAndReturnError: