Mac OS Sandbox:从帮助程序启动主应用程序

时间:2012-10-19 09:44:26

标签: macos appstore-sandbox

我在sandbox中创建了一个应用程序,它使用帮助程序从登录开始,如here所示。

它工作正常,但下一条消息记录在控制台中:

lsboxd[1560]: Not allowing process 15208 to launch "/Applications/SandboxApp.app/Contents/Library/LoginItems/SandboxHelper.app" because it has not been launched previously by the user

lsboxd[1560]: Not allowing process 15208 to register app "/Applications/SandboxApp.app/Contents/Library/LoginItems/SandboxHelper.app" for launch.

我看到这些消息是关于帮助者的,但我不知道该怎么做,以防止它们。

我唯一担心的是Apple会因为这条消息而拒绝该应用程序。

是否有人阻止了这些沙箱消息的加注,或者是某人向Apple发送了一个向沙盒发送沙盒消息的应用程序并在Appstore上被接受了?

2 个答案:

答案 0 :(得分:3)

请参阅http://blog.timschroeder.net/2012/07/03/the-launch-at-login-sandbox-project/ - 据此,这是一个代码签名问题,可能不会成为AppStore版本的问题,因为AppStore版本会被重新签名。

答案 1 :(得分:2)

这应该适用于最终版本。根据{{​​3}}(“启动助理与发射服务”一节):

  

使用启动服务启动帮助程序

     

允许使用沙盒应用   如果至少有其中一个,则使用Launch Services启动帮助程序   条件已经满足:

     
      
  • app和helper都通过了Gatekeeper评估。默认情况下   这意味着它们都是由Mac App Store或开发人员签名的   ID。注意:这不包括您的开发(“Mac Developer”)或   分发(“第三方Mac开发者应用程序”)签署   身份。
  •   
  • 该应用程序安装在/ Applications和应用程序包中   并且所有内容都归root所有。
  •   
  • 帮助程序已(手动)运行   用户至少一次。
  •   

当您通过Mac App Store安装应用时,第一个和/或第二个应该覆盖您的情况。