問題タブ [xpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
338 参照

cocoa - XPC サービス内での FSEventStream の使用が機能しない

XPC サービス (以下のコード) で FSEventStream を使用すると大きな問題が発生します。サービスが開始され、ストリームが作成されますが、コールバック関数は呼び出されません。まったく同じコードをメイン アプリケーションにコピーして実行すると、問題なく動作します。XPC サービスで動作しない理由は何ですか? 両方の部分で AppSandbox を無効にしようとしましたが、何も変わりませんでした。これに関するヘルプは大歓迎です。

コード:

私のコールバック関数:

0 投票する
2 に答える
306 参照

xpc - SMJobBless サンプルに XPC を含めることができない

Apple が提供する SMJobBless サンプルに XPC API フレームワークを含めようとしています。

https://developer.apple.com/librarY/mac/samplecode/SMJobBless/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010071-Intro-DontLinkElementID_2

しかし、これを追加します:

SMJobBlessHelper.c ファイルに追加すると、次のようになります。

Xpc/xpc.h: そのようなファイルまたはディレクトリはありません。

何が欠けていて、どこにあるべきか?

0 投票する
2 に答える
2741 参照

ios - xpc.h が見つからないというエラーを解決するには?

私は iOS アプリケーションに取り組んでおり、このアプリケーションでは、ユーザーの関与なしに SMS を内部的に送信しています。グーグルで調べた後、答えが見つかり、このコードを使用しています。

これで、SMS 送信サービスへの XPC 接続 myconnection ができました。ただし、XPC 構成では、中断された接続を作成できます。アクティブ化するには、もう 1 つの手順を実行する必要があります。

接続がアクティブになります。この時点で、iOS 6 は、このタイプの通信が禁止されているというメッセージを電話ログに表示します。ここで、メッセージ送信に必要なデータを使用して、xpc_dictionary と同様の辞書を生成する必要があります。

残りはほとんどありません。メッセージを XPC ポートに送信し、配信されることを確認します。

しかし、このコードを使用するには、xpc.h ヘッダー ファイルを追加する必要がありますが、xpc.h ヘッダーが見つかりません。だから、私が実際に何をする必要があるかを提案してください。

ここに画像の説明を入力

0 投票する
3 に答える
15360 参照

macos - Communicate with another app using XPC

I have a windowed app, and to add some functionality I need another app which launches at login and sync data to server if available.

I have tried with NSDistributionNotification but its practically useless in a sandboxed app. I looked up XPC and hoped it will work but I just dont know how to get it to work with the helper. So far I have done this using XPC.

Main App

XPC Service

This works fine, now I need to pass this result to Helper app. How Can I do this ? If XPC is not the answer here to communicate, then which one should I be using ? Any pointers please ?

0 投票する
1 に答える
1212 参照

macos - OSX アクティビティ モニターは、XPC タスクをイニシエーター プロセスにどのように一致させますか?

アプリケーション プロセスが XPC ヘルパー プロセスを起動するとき、従来の UNIX スタイルでは実際には fork()/exec() 自体を実行しません。代わりに、launchd にメッセージを送信します。したがって、XPC プロセスで親プロセスを照会すると、launchd プロセスとして返されます。

ただし、階層プロセス ビューでアクティビティ モニターを開くと、XPC ヘルパー プロセスはすべて、それらを要求した元のアプリケーションの下に表示されます。次に例を示します。

親プロセスとして launchd を表示する Safari の XPC ヘルパーの例

私が取り組んでいるソフトウェアでは、プロセス間のこの関係を知ることは非常に役立ちます。これまでのところ、通常の BSD 親プロセス情報を使用してきましたが、すべてが XPC に移行するにつれて、これはあまり役に立ちません。

そう:

  • XPC プロセスの「元の」親プロセス情報はどこに保存されますか?
  • Activity Monitor はどのようにアクセスしますか?

kext が関係しているので、この情報をユーザー空間ではなくカーネルで直接取得できれば幸いですが、それがどこに保存されているかさえわからないようです。

更新: Apple のdarwin-kernelメーリング リストでのディスカッション: http://lists.apple.com/archives/darwin-kernel/2015/Mar/msg00001.html