2015-10-09 41 views
0

我正在为Unity开发一款Mac App Store游戏,其中我有一个以Xcode作为.bundle文件创建的插件。我能够通过终端对我的游戏进行编码和打包,但是当我尝试通过Application Loader提交包时出现问题。我会尽量详细解释一切:在Mac App Store上提交时签名无效

软件包被上传到iTunes Connect中,但最后我得到以下警告:

WARNING ITMS-90239: "Invalid Signature. A sealed resource is missing or invalid. The binary at path [Panda Commander Air Combat.app/Contents/Plugins/InAppPurchase.bundle/Contents/MacOS/InAppPurchase] contains an invalid signature. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target."

我可以“下一步”点击并完成我的提交,但这个警告绝可以解决,因为我得到的问题,从iTunes Connect的电子邮件必须纠正:

UNABLE TO SIGN - This package doesn't meet the current code signing requirements. For more information, see the Code Signing and Application Sandboxing Guide [1] and Technical Note 2206 [2].

Specifically, codesign generated the following error:

webelinx.appstore.panda.pkg/Payload/Panda Commander Air Combat.app/Contents/Plugins/InAppPurchase.bundle: unsealed contents present in the bundle root

Once these issues have been corrected, you can then redeliver the corrected binary.

[1] http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html [2] https://developer.apple.com/library/mac/technotes/tn2206/_index.html

我的插件实际上是在Xcode签约,我已经创造了新的软件包ID和发行配置文件用于Mac App Store中专门针对这个插件并设置每一个在代码签名选项卡中。代码签名身份是第三方Mac开发人员应用程序,并选择适当的供应配置文件。当我构建这个包时,它会要求我允许进行密码编码,然后当我在终端中使用“codesign -dvvv”命令检查它时,可以看到编码详细信息。如果我没有对它进行密码设置,当我上传我的软件包时,会发出另一个警告,说明软件包根本没有签名。我甚至试图做一个“全部清理”,删除“构建”目录并重新建立警告中的建议,但它没有效果,再次出现警告。

如何解决此警告?我错过了一些重要的东西,还是试图用错误的方式解决问题? 任何帮助将不胜感激,因为我目前没有选择。

在此先感谢!

回答

0

好的,我解决了我的问题。我错过了几件事,我在这里找到了解决办法:http://forum.unity3d.com/threads/signing-mac-app-on-os-x-mavericks.206762/。 我仍然需要做的事情是在.app文件内的Contents/Frameworks和Contents/Plugins目录中手工编码每个文件,并删除插件中的所有.meta文件。在我完成这些步骤后,我再一次为其编码了整个.app文件,并创建了一个我上传到iTunes Connect的软件包,但没有提到上述警告。