Cocoa:別のアプリケーションを起動するSandboxの資格
[[NSWorkspace sharedWorkspace] launchApplication:path];
私のサンドボックスアプリケーションから、このエラーがコンソールに表示されます:
9/5/11 12:23:12.462 PM lsboxd:スポーンすることを拒否していますxxx24 PATH REDACTED> 21383 - 理由-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()がアプリケーション<の-10810を返しました。PATH REDACTED>(null)。
言い換えれば、私は明らかに、アプリケーション1がアプリケーション2を起動しているとは思わない「Launch Services Sandbox Daemon」(lsboxd)によってブロックされています。
レコード10826は "ユーザーにはアプリケーションを起動する権限がありません」と表示され、10810は「不明なエラーが発生しました」と表示されます。
誰でもこのケースの権利を知っていますか?
サンドボックスアプリケーションから他のアプリケーションを起動するにはどうすればいいですか(AppleScriptは特にサンドボックスアプリケーションやXPCサービスから呼び出されたときには機能しない悪夢です)。理想は、サンドボックス内からNSWorkspaceを使用する方法です。
パス/名前はオプションです。それはいずれの方法でも動作します。主な問題は、打ち上げを妨げるサンドボックスと、これを回避する資格がないことです。私がフォーラムに集めたことから、実際にそこには資格がありません。これは、別の解決策がない限り、主な質問です。 – SG1
あなたはパス/名前について正しいようですが、それを知らなかったのです。私はちょうどこの方法をサンドボックスアプリケーションで起動しようとしましたが、アプリが/アプリケーションにある限り正常に動作するようです(〜/ Applicationも動作しますが、これを試していないと仮定します)。 – omz