2016-12-16 4 views
0

私が使用したい特定のAPIは、AppleScriptでのみ動作し、アプリケーションからの情報を要求します。 MacOSXアプリケーションを構築したいのですが、このアプリケーションでAppleスクリプトを使用できますか?リンゴスクリプトを実装する回避策はありますか?AppleScriptコマンドをMacOSXアプリケーションで使用できますか?

ありがとうございます!

答えて

0

NSAppleScriptと気にしないでください:それは右ピタだとアウトデータを渡すためにあなたがパックに持っているようにし、すべてNSAppleEventDescriptorを解凍してください。 Cocoaアプリケーション内でASを呼び出す最も簡単な方法は、AppleScript-ObjC bridgeです。これにより、ObjCコードでASハンドラをネイティブメソッド(またはその逆)と呼び、AS-ObjCの値変換を実行できます。

にObjC /スウィフトから直接Appleイベントを送信するための

その他のオプション:不自由さ

  • のMacOSのScriptingBridgeフレームワーク、安っぽいと恐ろしく難読化されますが、些細なタスクを十分である(ASOCを経由して、まだ最も安全であるASとしかし、最も堅牢な選択)

  • SwiftAutomation framework私は新年にAppleにそれを投げようとしています。これは新しいコードベースであり、私はまだバグを打ち砕いていますが、実際の使用の10年に渡ってAppleScriptの真の代替手段であることが証明されたappscriptから設計が下ります。それを採用し、10.13に含めるアップルを求めbugreport.apple.com上

ところで、SwiftAutomationはあなたに興味がある場合は、してくださいファイル機能要求。チケットが複写されるほど、注意を払う可能性が高くなります。

2

AppleScriptのみで他のアプリと話したい場合は、NSAppleScriptクラスのカップルAPIを使用するのと同じくらい簡単です。

E.G.

initWithSource:(私はObjective-Cのを想定していますが、もちろんスウィフト同等物がある)とexecuteAndReturnError:

関連する問題