3

Print Dialog Extension (PDE) プラグインを作成しています。このプラグインは、ユーザーがさまざまなアプリ (TextEdit、Preview、Xcode など) から印刷するときに呼び出されて表示されます。プラグインは、印刷プラグイン (TextEdit など) を呼び出したアプリの上で実行されることに注意してください。

プラグイン内で、XPC サービスを実行する必要があります。ネットワークに接続する必要があるのに、TextEdit にはネットワーク接続に必要な資格がないなど、メイン アプリの資格が私のニーズに十分ではない可能性があるため、XPC サービスが必要です。

問題は、XPC 接続を作成できないことです。ハンドラーは常に XPC_ERROR_CONNECTION_INVALID で起動します。

1.) これは、PDE プラグインがメイン バンドル/メイン アプリ (テキスト編集など) 内にないためですか?
2.) はいの場合、どうすれば PDE プラグイン内で XPC サービスを実行できますか?
3.) いいえの場合、XPC 接続を正常に作成できないのはなぜですか?

4

1 に答える 1

1

XPC を PDE プラグイン内で動作させることができませんでした。

XPC バンドルはメイン アプリケーション バンドルの Contents/XPCServices ディレクトリ内にある必要がありますが、私の場合、メイン アプリケーション バンドルは異なります。PDE プラグインを開いたアプリ (TextEdit や Preview など) によって異なります。XPC バンドルを PDE バンドル内に配置しても機能しませんでした。

この制限のため、PDE プラグイン内の操作の流れを再設計しました。外部アプリケーション (スタンドアロン) を呼び出して、ネットワーク接続を必要とすることを行うようになりました。

于 2013-08-07T02:39:59.043 に答える