問題タブ [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 に答える
1514 参照

matlab - Simulink の埋め込み Matlab 関数で構造体を反復処理するにはどうすればよいですか?

SIMULINK の EML (Embedded Matlab) 関数ブロック内の MATLAB ワークスペースで形成された構造を反復しようとしている障害にぶつかりました。コード例を次に示します。

MyElements は、SIMULINK の MATLAB Function ブロック (EML) のバス型パラメーターです。以下は、私が問題を抱えている領域です。構造体内の要素の数と名前を知っていますが、要素の数は構成によって変わる可能性があります。したがって、要素名に基づいてハードコードすることはできません。EML ブロック内の構造体を反復処理する必要があります。

SIMULINK で構造体型を反復処理する方法について何か考えはありますか? また、これはターゲット システムでコンパイルされるため、num2str のような外部関数は使用できません。

0 投票する
0 に答える
2378 参照

macos - XPC サービスにメッセージを送信するときの EXC_BAD_INSTRUCTION

プロセス間通信に XPC サービスを使用しようとしています。プロジェクトに XPC サービス ターゲットを追加しましxpc_connection_send_messageEXC_BAD_INSTRUCTION。私が知る限り、正しく初期化して接続を開始しています。

そして、メッセージを送信します

ここに欠けているものはありますか?どういうわけか、サービスを見つけて接続するのに失敗していますか?

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

macos - Mac OS X XPC を IPC のように使用して、プロセス間でメッセージを交換することはできますか? どのように?

Apple によると、Lion で導入された新しい XPC Services API は、Grand Central Dispatch (GCD) および launchd と統合された基本的なプロセス間通信のための軽量メカニズムを提供します。

この API を POSIX IPC のような一種の IPC として使用することは可能のようですが、その方法がわかりません。

XPC API を使用して 2 つのプロセスを通信しようとしていますが、それらの間でメッセージを渡すことができますが、サーバー側で常に「XPC 接続が無効です」というエラーが発生します。

XPC サービスは必要ありません。クライアント サーバー アーキテクチャを使用してメッセージを交換したいだけです。

私は2つのBSDのようなプロセスを使用しているため、Info.plistなどはありません...

私はこの議論をフォローしてきましたhttp://lists.macosforge.org/pipermail/launchd-dev/2011-November/000982.htmlですが、このトピックは少しあいまいで文書化されていないようです。

ありがとう!

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

objective-c - MacOSX Lion でのプロセス間通信

カスタム アプリと既製のプログラムの間で IPC を設定する方法を見つけようとしています。
MacOSX Lion 10.7.2 と Xcode 4.2.1 を使用しています。

同様の推論があらゆる種類の外部プロセスに適用される可能性があると私は信じているので、正確にどのプログラムであるかは問題ではありません。
テスト目的で、単純な bash スクリプトを使用しています。

私が達成したいのは、このスクリプトの入力と出力をリダイレクトし、アプリを使用して入力を送信し、その出力を読み取ることです。

を使用しようとしましたが、NSTask次のとおりです。NSPipeNSFileHandle

test.shしかし、入力を送信することはできず、出力を読み取ることしかできません。

実際、ウェブで見た他の例は私のコードにかなり似ているため、この問題が私の間違いによるものなのか、それとも他の問題 (アプリの MacOS Lion のサンドボックス化など) によるものなのかはわかりません。

XPC のドキュメントを確認しましたが、調査によると、XPC API を IPC に使用するには、両側が同じサービスに接続する必要があります。
スクリプトを変更したくないので、それは私が探しているものではありません。入力と出力をリダイレクトしたいだけです。

私の問題は、XPC の欠如やアプリのサンドボックス化が原因ですか?

はいの場合、スクリプトを変更せずに XPC を使用する方法はありますか?
いいえの場合、誰かが私が間違っていることを説明してもらえますか?

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

macos - アプリサンドボックス用のXcode4でxcp-servicesのエンタイトルメントを編集するにはどうすればよいですか?

アプリを作成し、サンドボックス化を開始しました。ここで、xpc-servicesを使用して特権の分離を行いました。Appleから「SandboxedFetch」の例をダウンロードしました。これは、アプリケーション(application-icon)のような2つのxpcサービスを示しています。私のアプリでは、xpc-servicesに「pluggin」アイコンが表示されます。xpc-serviceのプロジェクト設定の[概要]タブが使用できません。つまり、メインアプリで実行できるように資格を構成できません。カスタムメイドのentitlements-fileをxpc-serviceにコピーし、プロジェクト設定で参照しました。ただし、サービスは常に特権制限なしで実行されています。

サービスに新しい証明書が必要ですか?アプリの名前が「com.mycompany.app」で、サービスの名前が「com.mycompany.app.service」の場合、アプリの証明書をサービスに適用できません。私はこのサンドボックスのことについてどういうわけか混乱しています。xpc-serviceに新しい証明書が必要ですか?そうでない場合、どうすれば資格を適用できますか?

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

macos - XPC によりクラッシュ ダイアログが表示される

Appleがリスクの高い操作にXPCを推奨しているため、XPCを実装しました。問題は、XPC がクラッシュすると、ユーザーにクラッシュ ダイアログが表示されることです。このコードがクラッシュすることがあることはわかっています。そのため、最初に XPC を実装しました。クラッシュレポートを抑制する方法はありますか?

詳細が必要な場合は、コメントを追加してください。できるだけ早くスレッドを更新します。

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

cocoa - アプリサンドボックス:ユーザーが親アプリで開いたファイルをXPCサービスが読み取れるようにする方法は?

シンプルなCocoa画像プレビューアプリがあります。ユーザーがを使用してファイルを選択するNSOpenPanelと、アプリはQuickLookAPIを使用してプレビュー画像を生成します。

プレビュー生成を別のXPCサービスに移動したいと思います。アプリのサンドボックス化がないと、すべてが正常に機能しますが、親アプリとXPCサービスのアプリのサンドボックス化を有効にすると、XPCサービスはユーザーが選択したファイルへの読み取りアクセスを拒否されます

親アプリはファイルの読み取りを許可されます(NSOpenPanelを介して選択されたため)。

ユーザーが選択したファイルの「ファイル読み取り」権限を親アプリからXPCプロセスに転送して、XPCプロセスがファイルを読み取ってプレビューを生成できるようにするにはどうすればよいですか?

XPCサービスがその資格を介してファイル読み取りアクセスを要求し、XPC Service Info.plistに次のキーを追加しましたが、それは役に立ちませんでした。

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

objective-c - XPC およびクロスアーキテクチャ OSX アプリケーション

私が開発しているデスクトップ アプリケーションでは、32 ビット フレームワークに固執する必要があります。フレームワークを適切なプロセスで実行し、残りのアプリケーションを 64 ビット プロセスで開発するための最適な方法を探しています。このアプリケーションは AppStore での販売も想定されているため、Apple サンドボックスをサポートする必要があります。

XPCについて考えています。これらの目的に適していますか? クロスアーキテクチャ プログラミングに関連するApple のドキュメントで見つからないのはなぜですか?

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

macos - XPC接続の承認

私のアプリケーションには、主要なコンポーネントとしてカーネル拡張機能が含まれています。そのカーネル拡張は、システム制御ソケットによって制御されます。セキュリティ上の理由から、そのシステム制御ソケットはスーパーユーザーからの接続のみを受け入れます。

通常の非スーパーユーザーアプリケーションから通信するために、仲介者として機能するSMJobBlessヘルパーがあります。問題は、自分のアプリケーション(自分で署名したもの)だけがこのXPCサービスに接続できるようにしたいということです。接続のもう一方の端にある実行可能ファイルの署名を確認する方法はありますか?もう一方の端でプロセスのPIDを取得できれば、それで十分です。そこから署名を検証する方法を知っています。

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

objective-c - XPC サービス デーモンで利用可能な辞書が表示されますか?

xpc をサポートする osx マシンで実行されている一連の起動デーモンとエージェントがあります。それらが IPC over xpc をサポートしているかどうかを確認するために、xpc 関数、特に xpc_connection_create を探します。私の理解では、これらのプロセスと対話するには、xpc API を介して辞書を作成する必要があり、それが宣伝されている com.* サービスに渡されます。ランダムなものを渡す代わりに、辞書の引数がプロセスごとにどうあるべきかを確認する方法はありますか?

上記のロジックのいずれかが間違っている場合は、お気軽に修正してください。アドバイスやコメントは役に立ちます、ありがとう。