嗨,我正在尝试通过“Application Loader”为 Mac Store 的 MonoMac 二进制文件进行代码签名。我可以提交应用程序,但“iTunes Connect”中的状态总是说“无效二进制”!?我必须手动执行此操作的原因是 MonoMac 签名中存在错误。但我现在开始拔头发了,因为已经过了一天半了。
我还收到一封电子邮件说:
签名无效 - 路径 Paper Tanks.app 的主应用程序包 Paper Tanks 已签名,但签名无效。
如果我尝试用这个对二进制文件进行签名,“Application Loader”将给出一个错误:
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 开发者应用程序:Andrew Witte" "--resource-rules=.../AppStore/Paper Tanks.app/Contents/Resources/ResourceRules.plist" ".... /AppStore/Paper Tanks.app"
然后我对内部单声道posix库进行代码签名,因为最后一步似乎没有。
codesign -v --force --sign "第 3 方 Mac 开发者应用程序:Andrew Witte" .../AppStore/Paper\ Tanks.app/Contents/Resources/libMonoPosixHelper.dylib
然后我构建并签署 pkg:
productbuild --component ".../AppStore/Paper Tanks.app" /Applications --sign "第 3 方 Mac 开发者安装程序:Andrew Witte" ".../AppStore/PaperTanks_OSX-0.1.pkg"