我有一个用xCode 5创建的应用程序,其中包含捆绑的可执行文件。我正在尝试将应用程序提交到Mac App Store,但是当我提交应用程序时,它失败并显示以下消息:
未启用应用沙箱-以下可执行文件必须在权利属性列表中包括“ com.apple.security.app-sandbox”权利,其布尔值是true。有关对应用程序进行沙箱处理的更多信息,请参阅“应用程序沙箱”页面。
我创建了一个权限文件(EXECUTABLE_NAME.entitlements),其中包含值为'true'的'com.apple.security.app-sandbox'键。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>
...但是该应用仍然失败。
我缺少什么(或者我做错了什么)来对捆绑的可执行文件代码进行签名?
我通过以下方式解决了此问题:
1).plist文件缺少继承键,因此我对其进行了修改:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.inherit</key>
<true/>
</dict>
</plist>
单独执行此操作不会对实际执行代码签名的文件执行以下操作:
运行以下命令:
codesign -f -s“ $ YOUR_CERTIFICATE_HERE”-权利“ $ THE_ENTITLEMENTS_PLIST”“ $ THE_EXECUTABLE”
对于$YOUR_CERTIFICATE_HERE
使用第三方Mac开发者的应用证书
完成此操作后,该应用程序应上传到iTunes Connect,您将能够在“二进制详细信息”部分下查看相关的代码签名信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句