Mac OS X Embedded Helper App捆绑代码签名

时间:2014-09-01 01:22:30

标签: xcode macos sandbox code-signing appstore-sandbox

我正在测试阶段使用我的新应用,但我遇到了一个问题,我花了两天时间研究和试验。

该应用适用于Mac App Store。我让Xcode 5自动处理代码签名和配置,因此在构建设置中,代码签名标识只设置为" Mac Developer"。我还使用--deep选项(我知道不推荐)来签署该应用包含的所有嵌入式框架。主应用程序还包含一个嵌入式帮助应用程序(实际的 .app 包,这可能是问题)。

  • 该应用程序可以毫无问题地编译。
  • 它通过App Store验证就好了。
  • 我可以在Xcode中运行该应用程序,主应用程序可以启动助手帮助。
  • 我也可以从Finder中的构建位置运行应用程序,仍然可以启动帮助应用程序。

问题出现在我将应用程序移到构建文件夹之外,或者将其放在另一台计算机上进行测试时。主应用程序运行得很好(和所有Apple服务,如MapKit,功能正常)但主应用程序无法启动帮助应用程序,控制台日志说:

lsboxd[344]: Not allowing process 18553 to launch "/Users/Brian/Desktop/MainApp.app/Contents/MacOS/HelperApp.app" because the security assessment verdict was denied.

lsboxd[344]: Not allowing process 18553 to register app "/Users/Brian/Desktop/MainApp.app/Contents/MacOS/HelperApp.app" for launch.

显然,正在进行一些代码签名/沙箱问题。在将其提交给Apple并且用户通过App Store下载后,可能的所有内容都可能正常工作,但我宁愿能够对其进行测试 > 之前它已经走了那么远。

任何建议将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

在构建位置之外启动应用程序之前,您应该为主应用程序和帮助程序提供正确的权限。

系统:读写

轮:只读

每个人:只读

在我的应用中,我已将代码签名身份设置为Mac App Store。应用程序似乎也必须驻留在/ Application文件夹中。