Mac App Store授权 - 代码对象根本没有签名

时间:2014-10-16 14:20:32

标签: macos mac-app-store codesign entitlements

我一直在尝试向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

我不太确定从哪里开始。

提前致谢。

1 个答案:

答案 0 :(得分:0)

不确定那是否与我相同,但是我需要从应用包中删除权利文件并将其与包一起签名:

codesign -f -s "3rd Party Mac Developer Application" -v "DA-FormMaker.app" —-deep --entitlements Entitlements.plist

我使用的是Delphi XE4,过去授权文件由Delphi放在捆绑包中。

我从捆绑包中删除了Entitlements.plist并对其进行了签名。之后,该应用程序被接受了。

安迪