Mac App Store 权利 - 代码对象根本没有签名
Posted
技术标签:
【中文标题】Mac App Store 权利 - 代码对象根本没有签名【英文标题】:Mac App Store entitlement - code object is not signed at all 【发布时间】:2014-10-16 14:20:31 【问题描述】:我一直在尝试向 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】:不确定这是否与我的情况相同,但我需要从应用程序包中删除权利文件并将其与捆绑包一起签名:
codesign -f -s "3rd Party Mac Developer Application" -v "DA-FormMaker.app" —-deep --entitlements Entitlements.plist
我使用的是 Delphi XE4,过去授权文件是由 Delphi 放在捆绑包中的。
我从捆绑包中删除了 Entitlements.plist 并对其进行了签名。之后该应用程序被接受。
安迪
【讨论】:
以上是关于Mac App Store 权利 - 代码对象根本没有签名的主要内容,如果未能解决你的问题,请参考以下文章
向 App Store 提交二进制文件 - 无效的代码签名权利
iOS App Store 促销代码显示“必须使用 Mac 兑换”
错误 App Store Connect:“ITMS-90683:Info.plist 中缺少目的字符串”和“ITMS-90078:缺少推送通知权利”[Flutter]