【发布时间】:2012-07-17 03:18:06
【问题描述】:
您好,我正在尝试通过“应用程序加载器”为 Mac 商店的 MonoMac 二进制文件进行代码签名。我可以提交应用程序,但“iTunes Connect”中的状态总是说“无效二进制”!?我必须手动执行此操作的原因是 MonoMac 签名中存在错误。但是我现在开始拔头发了,因为已经过了一天半了。
我还收到一封电子邮件说:
无效的签名 - 路径 Paper 处的主应用程序包 Paper Tanks Tanks.app 已签名,但签名无效。
如果我尝试用这个对二进制文件进行签名,“应用程序加载器”会报错:
codesign -v --force --sign "A72F25F56B7D6C43332AE795288EA092009BE737" "--resource-rules=/Users/Andrew/Reign/Games/papertanks/PaperTanks_OSX/PaperTanks_OSX/bin/AppStore/Paper Tanks.app/Contents/Resources/ResourceRules.plist" --entitlements "/Users/Andrew/Reign/Games/papertanks/PaperTanks_OSX/PaperTanks_OSX/bin/AppStore/Paper Tanks.xcent" "/Users/Andrew/Reign/Games/papertanks/PaperTanks_OSX/PaperTanks_OSX/bin/AppStore/Paper Tanks.app"
Application Loader error = "Invalid Code Signing Entitlements. The entitlements in your app bundle signature do not match the ones that are contained in the provisioning profile. The bundle contains a key that is not included in the provisioning profile: 'com.apple.application-indetifier' in Paper Tanks.app/Contents/macOS/Paper Tanks'."
因此,由于上述步骤失败,我然后像这样对应用程序进行代码签名:
codesign -v --force --sign "第 3 方 Mac 开发者应用程序: 安德鲁·维特""--resource-rules=.../AppStore/Paper Tanks.app/Contents/Resources/ResourceRules.plist" "..../AppStore/Paper Tanks.app"
然后我对内部单声道 posix 库进行代码签名,因为最后一步似乎没有。
codesign -v --force --sign "第 3 方 Mac 开发者应用程序: 安德鲁·维特”.../AppStore/Paper\ Tanks.app/Contents/Resources/libMonoPosixHelper.dylib
然后我构建并签署 pkg:
productbuild --component ".../AppStore/Paper Tanks.app" /Applications --sign "3rd Party Mac Developer Installer: Andrew Witte" ".../AppStore/PaperTanks_OSX-0.1.pkg"
【问题讨论】:
标签: macos store app-store-connect codesign monomac