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