我有一个沙盒应用。 我需要它来启动辅助应用程序(从主应用程序的包内),每次它启动。 然而,这种失败:
NSError *error;
[[NSWorkspace sharedWorkspace] launchApplicationAtURL:helperURL
options:NSWorkspaceLaunchDefault
configuration:nil
error:&error];
错误是:
该应用程序“助手”无法启动,因为它已损坏,NSUnderlyingError = 0x10214c700“操作无法完成。(OSStatus错误-10827)。”}
现在,错误是误导性的,因为如果我禁用沙盒授权的应用程序启动的罚款。 显然,这是一个错误,据报道在这里 。
我的问题是: 有没有解决办法?
我可以用SMLoginItemSetEnabled
,描述在这里 :
传
true
立即启动助手应用程序,并显示应在用户登录开始每次。通过false
终止助手应用程序,并表示它不应该再启动时,用户登录。
但是,我不能没有要求用户先使用该API,因为应用商店审查指南2.26的:
被设置为自动启动,或者必须在启动或登录未经用户许可自动运行的其他代码的应用程序将会被拒绝
因此,使用这种解决办法将意味着向用户询问“是否可以在每次登录时启动助手?如果没有,你不能使用这个应用程序!” 显然,这不是理想的...