2011-09-05 165 views
12

我打电话可可:沙盒授权启动其他应用程序

[[NSWorkspace sharedWorkspace] launchApplication:path]; 

从我的沙盒应用程序,我在控制台收到此错误:

11年9月5日12 :23:12.462 lsboxd:拒绝产卵< PATHEDEDED> for 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为应用程序<路径删除>(null)。

换句话说,我清楚地被阻塞的“启动服务守护程序沙箱”(lsboxd)不认为应用程序1,应推出应用程式2.

为了记录10826是“用户没有权限启动应用程序“,然后10810是”发生未知错误“

有没有人知道这种情况下的权利?

你怎么可以启动从沙盒应用程序的其他应用程序(请不要说AppleScript的 - 这是一个无功能的噩梦,从沙盒应用程序或服务XPC叫尤其是当)。理想的做法是从沙盒内使用(严重瘫痪的)NSWorkspace。

回答

3

launchApplication:的参数是应用程序的名称(即类似于@"Safari"的东西),而不是其路径。这样,它一直在为我工作,没有任何特殊的权利。我不认为你可以在不使用PowerBox的情况下从沙盒应用程序的任意路径启动应用程序。

+0

路径/名称是可选的;它以任何方式工作。主要问题是防止发射的沙箱以及周围没有权利的问题。从我在论坛上收集的内容来看,实际上没有权利。这是主要问题,除非有另一种解决方案。 – SG1

+1

你似乎是正确的关于路径/名称,不知道。我只是试图启动一个应用程序这种方式在沙盒应用程序,它似乎只要细如应用程序是在/应用程序(我假设〜/应用程序也适用,但没试过)工作。 – omz