我正在尝试向iOS应用商店提交更新。我将从Buzztouch应用程序转到Sprite Kit应用程序。我能够存档Xcode项目并提交它。该应用程序进入上传已接收状态,但大约一分钟后,它会更改为无效二进制文件,我收到一封电子邮件说:
签名无效 - 确保您已使用分发证书(而非临时证书或开发证书)对应用程序进行了签名。验证Xcode中的代码签名设置在目标级别是否正确(覆盖项目级别的任何值)。此外,请确保您上传的软件包是使用Xcode中的Release目标而不是Simulator目标构建的。如果您确定您的代码签名设置正确,请在Xcode中选择“全部清除”,删除Finder中的“构建”目录,然后重建您的发布目标。
更正这些问题后,请转到“版本详细信息”页面,然后单击“准备上载二进制文件”。继续完成提交过程,直到应用状态为“等待上传”。然后,您可以提供更正的二进制文件
我已经清理了构建目录,重建了我的发布目标,并多次创建了新的配置文件。所有代码签名标识都设置为iOS Developer。代码签名和配置文件对我来说总是有点混乱,我本可以犯一些明显的错误。
我试过提交超过50次!我发现这非常令人沮丧,因为我已经通过电子邮件发送给Apple,他们又回复了我,但它只是一个指向开发中心的链接,其中包含代码签名信息。我也花了很多时间在互联网上寻找解决方案,并且没有一个真正适用于这个问题的好解决方案。
我唯一能想到的是因为我正在改变Buzztouch应用程序或它是Sprite Kit。
以下是我的代码签名的屏幕截图:
这是我在Mac App Store遇到类似问题时所做的事情:
作为参考,这是我与签名相关的构建设置。我最近一次提交应用程序(过去两天一直处于“等待审核”状态),这个工作就开始了,所以我猜它通过了所有的自动化测试。
您的问题与签名失败有关,因为您的应用未与最近的分发证书签名。请检查以下步骤:
1)检查您的bundle identifier
列出配置文件,如下图所示。因为它也导致了这个问题。
2)在构建应用程序时,您可能不会使用correct certificates
。只需在Provisioning Portal中删除您的证书并创建新证书并在Xcode中更新它们。
3)从您的图片中,您没有选择正确的配置文件。转到管理器/供应配置文件/刷新并允许Xcode获取最新的。看屏幕截图如何做到这一点。
选择正确的配置文件。
选择正确的代码符号。
4)清理你的项目。
5)只是clean all your targets
。你甚至可以去/Users/%USERNAME%/Library/Developer/Xcode/DerivedData
并删除那里的所有目录。
在Apple开发人员支持中,Invalid Signature
二进制拒绝原因还有两个常见原因,
A.在此处运行app诊断:How do I check if my application's signature has been corrupted?
B.然后使用以下命令检查命令行输出:List of Signature Verification Failure Root Causes。双文件被诊断为以下消息:
resource missing: my.app/._.*
C.来自文档:
带有“._”前缀的文件被视为AppleDouble文件,它可能是因为将未压缩的Xcode项目文件夹复制到非HFS +格式化的磁盘上。必须使用'dot_clean'命令删除AppleDouble文件。 Xcode项目文件夹是dot_clean的参数,如下所示。注意:您可以将Xcode项目文件夹从Finder拖到终端窗口中,以自动将其路径填入命令。
dot_clean /path/to/My_Xcode_Project
(如果终端找不到dot_clean实用程序,请通过Xcode> Preferences> Downloads下载可选的命令行工具)
D.在Xcode项目上运行dot_clean
后,创建一个新的应用程序存档(通过Xcode>产品>存档),重新尝试提交。
要防止双重文件,请务必使用Finder将Xcode项目文件夹压缩为.zip,然后再将其传输到非HFS +格式的硬盘驱动器。
完成以上所有操作后
菜单栏尝试产品 - >存档
然后从组织尝试辞职和提交。
窗口 - >管理器选择存档,然后按分发(但我很确定你会知道它是如何工作的)
显然,如果你不能这样做,那么你的签名证书确实有问题,更具体地说,你的捆绑标识符很可能是罪魁祸首。
另一个选择是您的应用程序使用您尚未在developer.apple.com/ios上设置的服务,例如游戏中心,推送通知等应用ID。祝您好运
检查你的发布图像。他们是否有冲突,就像2张图片有相同的名字一样。因为我有类似的问题,我在10分钟内解决了这个问题。
为了解决这个问题,我刚刚创建了一个新的Xcode项目,并将所有内容复制并粘贴到新项目中。
在我的情况下问题是文件名中没有ASCII字符(有人确实发送给我们嵌入),解决方案是在项目中进行全局搜索:
LS -R -1 S | “”“”“”“”“”“”“”“”“”
并从文件名中删除这些字符。