13

私は電話しています

[[NSWorkspace sharedWorkspace] launchApplication:path];

サンドボックス化されたアプリから、コンソールに次のエラーが表示されます。

9/5/11 12:23:12.462 PM lsboxd: 21383 の < PATH REDACTED > の生成を拒否 - 理由 -10826

9/5/11 12:23:12.463 PM アプリ: spawn_via_launchd() が失敗しました、errno=54 label=[0x0-0x1994993].MYApp path=< PATH REDACTED > flags=0

9/5/11 12:23:12.464 PM アプリ: LSOpenFromURLSpec() は、アプリケーション < PATH REDACTED > (null) に対して -10810 を返しました。

つまり、アプリ 1 がアプリ 2 を起動するべきではないと考えている「Launch Services Sandbox Daemon」(lsboxd) によって、明らかにブロックされています。

レコードの場合、10826 は「ユーザーにアプリケーションを起動する権限がありません」であり、10810 は「不明なエラーが発生しました」です。

この場合の権利を知っている人はいますか?

サンドボックス化されたアプリから他のアプリを起動するにはどうすればよいですか (AppleScript とは言わないでください。特にサンドボックス化されたアプリや XPC サービスから呼び出された場合は、機能しない悪夢です)。理想は、サンドボックス内から (重度の不自由な) NSWorkspace を使用する方法です。

4

1 に答える 1

3

のパラメータはアプリケーションのパスではなくlaunchApplication:、アプリケーションの名前(つまりのようなもの) です。@"Safari"そうすれば、私にとって特別な資格なしで機能しています。PowerBox を使用せずに、サンドボックス化されたアプリから任意のパスでアプリを起動することはできないと思います。

于 2011-09-05T17:47:07.990 に答える