我一直在尝试向Mac OSX商店提交应用更新,但我的所有提交都被拒绝,错误“代码对象根本没有签名”
我一直在代码签署这样的权利:
codesign -f -v -s "3rd Party Mac Developer Application: My Company (XXXXXXXXXX)" MyApp.app/Contents/entitlements.plist
codesign -f -v -s "3rd Party Mac Developer Application: My Company (XXXXXXXXXX)" MyApp.app
codesign -f -v -s "3rd Party Mac Developer Application: My Company (XXXXXXXXXX)" --entitlements MyApp.app/Contents/entitlements.plist MyApp.app
如果我然后执行以下操作:
codesign --display --entitlements - MyApp.app
我获取了权利文件的内容以及一些不寻常的字符:
??qq%<?xml version="1.0" encoding="utf-8"?>
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
</dict>
这表明权利是代码签名并正确显示。
我已经尝试了RB App Checker Lite,它说一切都很好但是当我尝试使用spctl时:
spctl --assess --type execute MyApp.app
我明白了:
MyApp.app: rejected
我不太确定从哪里开始。
提前致谢。
答案 0 :(得分:0)
不确定那是否与我相同,但是我需要从应用包中删除权利文件并将其与包一起签名:
codesign -f -s "3rd Party Mac Developer Application" -v "DA-FormMaker.app" —-deep --entitlements Entitlements.plist
我使用的是Delphi XE4,过去授权文件由Delphi放在捆绑包中。
我从捆绑包中删除了Entitlements.plist并对其进行了签名。之后,该应用程序被接受了。
安迪