我制作了一个包含命令行工具的应用程序。我启用了应用程序的沙箱,并测试了它的工作原理。我还对应用程序和命令行工具进行了代码签名。
但是当我将应用程序上传到iTunes时,我收到一封电子邮件,告诉我“App沙箱未启用”。
显然,我需要设置具有com.apple.security.app-sandbox
值的密钥true
的权利文件,并列出可执行文件:/Contents/MacOS/myApp
和/contents/Frameworks/x86/myCommandLineTool
。
我确定我已经在Xcode中启用了沙箱,所以我认为问题出在命令行工具上。
如何为命令行工具启用沙箱?或者是否应该放置该工具的特定文件夹?欢迎任何建议 - 我已经困扰了好几天。
答案 0 :(得分:24)
我有同样的问题,经过一些搜索,试用和错误,这对我有用:
创建一个权利文件 - 对我来说,只是将com.apple.security.inherit设置为YES。我用xcode本身创建了这个文件。
现在使用以下命令对此命令行工具进行签名:
codesign --entitlements ./entitlements.plist -s "copy & paste your certificate from keychain" ./commandlinetool
为了确定,请使用以下命令进行检查:
codesign --display --entitlements - ./commandlinetool
此工具已包含在项目中。所以只需编译,存档&提交
状态现在正在“等待审核”。