2014-01-29 64 views
3

我正在尝试向iOS应用商店提交更新。我将从Buzztouch应用程序转到Sprite Kit应用程序。我可以将Xcode项目归档并提交。该应用程序获取上传的接收的状态,但比约一分钟后,它变成无效的二进制文件,我收到一封电子邮件说:应用程序提交:无效的二进制文件 - 无效的签名

无效签名 - 确保您已与分发证书应用程序,而不是临时证书或开发证书。验证Xcode中的代码签名设置在目标级别是否正确(它覆盖项目级别的任何值)。另外,请确保您正在上传的包是使用Xcode中的发布目标构建的,而不是模拟器目标。如果您确定您的代码签名设置是正确的,请选择Xcode中的“全部清除”,删除Finder中的“build”目录,然后重新构建您的发布目标。

一旦这些问题得到解决,进入版本详细信息页面并点击“准备上传二进制文件”。继续完成提交过程,直到应用状态为“等待上传”。然后您可以提供更正的二进制文件。

我清理了构建目录,重建了我的发布目标,并多次创建了新的配置配置文件。所有的代码签名身份都设置为iOS开发者。代码签名和配置文件对我来说总是有点混乱,我可能会犯一些明显的错误。

我已经尝试提交超过50次!我发现这非常令人沮丧,因为我已经通过电子邮件发送了Apple,他们回到我身边,但它只是一个链接到开发中心的代码签名信息。我也花费了大量的时间在互联网上寻找解决方案,而且还没有一个很好的解决方案可以解决这个问题。

我能想到的唯一原因是我从Buzztouch应用程序更改或者它是Sprite Kit。

这里是我的代码签名的截图:

screenshot of code signing

+0

您的代码签名是错误的。您需要使用** iOS Distribution **作为您想要发布的模式。 – borrrden

+0

你好@borrrden我试着将它们全部更改为iOS发行版,并且它仍然返回相同的内容。 – PoKoBros

+0

将其更改为iOS发行版,然后重复所有清理步骤等。如果签名未正确执行,您还应在错误窗格中看到警告。你有应用商店证书吗? – borrrden

回答

2

这是我做过什么,当我遇到类似的问题,在Mac App Store:

  1. 重新生成应用程序的分布和发展证书(从苹果开发者证书的网站)。
  2. 下载这两个证书并将它们拖到Xcode的图标(不确定它是否有任何影响,但在提交失败后,我很迷信)。
  3. 重新刷新Xcode中的证书和身份。
    1. 打开Xcode的首选项。
    2. 转到帐户选项卡。
    3. 点击我的帐户
    4. 点击刷新按钮。
  4. 生成存档。
  5. 提交该应用程序,并在向导提示中的某处中途点击“刷新签名身份”。

作为参考,这里是我建立的有关签名的设置。这是我最后一次提交应用的工作(过去两天一直处于“等待审核”状态,所以我猜测它通过了所有的自动化测试)。

Build settings - signing

+1

我非常不满,来自苹果的错误电子邮件是误导性的。这花了我很多时间!谢谢你的工作解决方案! – Takide

1
  1. 在“代码签名身份”确保你选择了你的分销证书的“释放”方案

  2. 在“配置文件”下,请确保您选择了配送配置文件(不是Ad Hoc配置文件)

  3. 存档和分发,确保提交时相同的证书被选中(后输入您iTunesConnect资讯)

+0

仍然没有工作...任何其他建议 – PoKoBros

2

你的问题涉及与签约失败,因为您的应用程序并没有与最近发布证书登录。检查以下步骤:

1)请检查您的bundle identifier以列出供应配置文件,如下图所示。因为它也导致了这个问题。

enter image description here

2)构建的应用程序时,您可能无法使用correct certificates。只需在Provisioning Portal中删除您的证书并创建新证书并在Xcode中更新它们即可。

3)从您的图片中,您没有选择正确的配置文件。转到组织者/供应配置文件/刷新,并允许Xcode获取最新的。看到如何做到这一点的屏幕截图。

选择正确的供应配置文件。 enter image description here

选择正确的代码签署。 enter image description here

4)清理你的项目。

5)只是clean all your targets。你甚至可以去/Users/%USERNAME%/Library/Developer/Xcode/DerivedData并删除那里的所有目录。

see this ref

+0

没有工作...任何更多的想法? – PoKoBros

+0

@PoKoBros仍然有同样的错误? – Mani

+0

是的,我仍然收到相同的错误 – PoKoBros

0

做上述所有

菜单栏 后尝试产品 - >存档

然后从组织试图辞职并提交。

窗口 - >管理 选择存档,然后按分配(但我敢肯定你会知道如何运作)

显然,如果你不能做到这一点那么很可能你确实有东西您的签名证书有问题,更具体地说,您的捆绑标识符可能是罪魁祸首。其他

一种选择是你的应用程序使用,你有没有设立developer.apple.com/ios的应用程序ID服务,如游戏中心,推送通知等。祝你好运

0

检查启动图片。它们是否相互冲突,就像2个图像有相同的名称。因为我已经得到了类似的问题,我在10分钟内解决了这个问题。

2

在苹果显影支撑件有的Invalid Signature二进制拒绝原因两个附加常见的原因,

  1. 可执行文件包含特殊字符(即非数字,和非字母)。要解决此问题,请将Xcode目标的产品名称构建设置从“$ {TARGET_NAME}更改为仅包含字母/数字字符的字符串。让我知道,如果这是问题的原因(和有问题的字符),因为我提交错误报告来修复我在这里找到的每个实例。

  2. 将未压缩的Xcode项目复制到/从非HFS +格式化硬盘驱动器中产生的Apple双文件(“双文件”)。要检查这引起了你的拒绝:

A.运行的应用程式中诊断: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的参数,如下所示。注意:您可以将Finder中的Xcode项目文件夹 拖入“终端”窗口,以自动将其 路径填充到命令中。

 dot_clean /path/to/My_Xcode_Project 

(如果终端不能找到dot_clean工具,通过Xcode的下载可选的命令行工具>首选项>下载)

D.你的Xcode项目运行dot_clean后,创建一个新的应用程序存档(通过Xcode>产品>存档),重新尝试提交。

要防止出现重复文件,请确保在将Finder中的Xcode项目文件夹传输到/从非HFS +格式的硬盘驱动器上之前,使用Finder将其压缩为.zip。

+0

我认为No2对我造成这个问题。我尝试从外部NTFS硬盘上传。将项目复制到Mac的硬盘时,一切都正常通过。 – Dimmy3

+0

No1引起我的问​​题。我用了 ”?”字符在我的产品名称中。 – poordeveloper

0

为了弄清楚这个问题,我刚刚创建了一个新的Xcode项目,并将所有内容复制并粘贴到新项目中。

相关问题