私は別のアプリケーションの開発に役立つObjective CランタイムデバッグツールをSwiftで書いています。現在のところ、このツールはObjective Cランタイムの独自のインスタンスを使用して正常に起動するスタンドアロンのCocoaアプリケーションであり、多用されていません。Mac OS:別のCocoaアプリケーション内からCocoaアプリケーションを実行するにはどうすればよいですか?
がターゲットアプリケーションのランタイムを使用するように、ターゲットアプリケーションのメソッド呼び出しから開くことができるように変更したいと考えています。この要件は、新しいプロセスを開始するためにNSTask
に依存する解決策の使用を排除します。
どうすればこの問題を解決できますか?
編集:
私のデバッグツールはGUIアプリケーションです。通常は、main
関数からNSAppliationMain
を呼び出して起動します。メインバンドルのinfo.plist
ファイルからアプリケーションインスタンスを設定します。明らかに、メインバンドルのinfo.plist
がデバッグされたアプリケーションではなく、ターゲットアプリケーションのinfo.plist
であるため、NSApplicationMain
を別のアプリケーションのコードから呼び出そうとすると、これは動作しません。
言い換えれば、私はメインのnibファイルからアプリケーションを手動で起動し、ターゲットアプリケーション内からウィンドウ、メニューバーなどを開くにはどうしたらいいですか?
共有ライブラリ(フレームワーク)にすることはできますか? –
@MartinR私は確かにすることができますが、私はしなかった場合、アプリケーションを正しく起動する方法を知らない – Alexander
[質問](https://stackoverflow.com/questions/8475476/load-a-mac-binary-as-a) -dynamic-library)が役に立ちます。 – CRD