ITMS 9000:您上传的二进制文件无效。

41
  • 当我遇到这个问题时,我的第一反应是在Stack Overflow上搜索解决方案。我进行了搜索,找到了几个主题。但与我的问题不同的是,那些发帖人从错误中获得了一些线索,例如:
  • 您上传的二进制文件无效。签名无效,或者它没有使用苹果提交证书进行签名

    或者这个:

    您上传的二进制文件无效。该文件不是有效的zip文件

    或者这个

    您上传的二进制文件无效。 Info.plist文件中的键CFBundleVersion必须包含比先前上传版本更高的版本。

    但对我而言,我什么都没得到,它只是说错误ITMS-9000:“您上传的二进制文件无效”

    在此输入图像描述

    我尝试通过以下尝试解决此问题,但所有尝试都失败了

    • 在模拟器上测试确保应用程序运行正常...检查!
    • 在设备上测试(iPhone 5S,iOS 7和iPhone 4s iOS 6)以确保应用程序正常工作...检查!
    • 清理并构建...完成!
    • 确保我使用分发配置文件(而不是Ad Hoc,Dev)...检查!
    • 重新完成证书和配置文件的整个过程...完成!
    • 检查我的代码签名标识...检查!
    • 检查捆绑标识符,匹配(Xcode == Apple Developer中的App ID == iTunes Connect中的App)...检查!
    • App ID区分大小写检查....检查!(小写,com.companyname.productname)
    • 删除项目中的目标,然后创建一个新的(我有一个项目,多个目标)...完成!
    • 删除方案,然后创建新的...完成!
    • 检查图标大小,检查加载图像大小,检查每英寸像素数...检查!
    • 检查Localizable.strings是否有错别字...检查!
    • 删除构建文件夹...完成!
    • 重新启动Xcode,重新启动计算机...完成!
    • 连接到另一个WiFi路由器...完成!
    • 从我的同事Macbook提交...完成!
    • 创建新的App ID,新证书,新的配置文件并更新iTunes Connect Bundle ID...完成!
    • 休息一个小时,然后再试一次...完成!

    我真的不知道我做错了什么。自从iOS 4以来,我一直在提交应用程序,更新了数百个版本。但从来没有遇到过这样的问题。事实上,昨天我刚刚更新了另一个与此相同的代码库的应用程序,没有任何问题。

    有没有办法可以收集更多关于Xcode告诉我的“无效二进制文件”的信息?或者还有其他我应该尝试的方法吗?

    对于找到这个话题的所有人(2014年7月18日),也许你最好的方法是休息几个小时(或一天)然后再试一次。

    ---最后更新---

    事实证明这是苹果服务器的问题。

    • 我有一个名为"Sample App"的应用程序
    • 此应用程序具有id为com.tartw45.sampleapp的应用程序ID
    • 该应用程序使用名为"Simple App App Store Distribution Profile"的App Store分发配置文件
    • 回到上周五(2014年7月18日),一切似乎都很好,没有任何错误指示,但我无法发布该应用程序,就像我上面所述的那样
    • 今天(2014年7月21日),我尝试使用上周的档案再次尝试,仍然没有成功。
    • 我决定重新进行存档过程,并发现“Simple App App Store Distribution Profile”不再有效
    • 我登录到developer.apple.com,发现“All Provisioning Profile”的列表中也不再有“Simple App App Store Distribution Profile” **
    • 然后我尝试创建一个具有相同名称(Simple App App Store Distribution Profile)的新的配置文件,但**出现错误,提示此配置文件已存在,请选择其他名称
    • 因此,我创建了一个名称略有不同的新的配置文件,在XCode中刷新了配置文件,再次进行存档,然后发布.... 成功了!

    所以,这绝对是苹果服务器的问题和您的配置文件(**),与您的XCode版本或项目设置无关(如果您之前成功提交了应用程序且没有任何原因遇到此问题)。所以,任何发现此主题的人,请尝试验证您的配置文件,然后尝试发布。


    你正在使用哪个版本的Xcode?是5.1.1版本吗?我们曾经遇到过类似的问题,但错误与5.0.x版本不同,然后我们改用了5.1.1版本,上传就成功了。 - Janak Nirmal
    这是某个时间段内的常见错误吗?参见一个小时前的此篇帖子!:-/ - Neeku
    应用商店不再接受Xcode 5.0的构建版本。您正在使用哪个版本的Xcode? - GoodSp33d
    2
    我在使用xCode 5.1.1时遇到了错误。 - Coderdad
    在我的情况下,使用 Xcode 5.1.1 和 iOS 7,我成功上传了应用程序,方法是从目标中移除“armv6”架构。 - Lucien
    显示剩余5条评论
    10个回答

    14
    自从昨晚以来,我一直遇到同样的问题,直到刚才才解决了。 这是我经历的过程:
    1. 登录https://developer.apple.com> > 证书、标识符和配置文件 > 配置文件,撤销我的公司的发布证书。

    2. 然后在Xcode > 偏好设置 > 帐户 > Apple ID > (我的公司) > 查看详情,并刷新证书和配置文件。它提示开发人员资料中没有找到发布证书,并提供代表我请求一个新的发布证书。

    3. 启动钥匙串访问 > 证书,删除所有已过期的证书(不知何故,我有几个)。

    4. 回到https://developer.apple.com> > 证书、标识符和配置文件 > 配置文件,并编辑所有手动管理的配置文件(开发 —— 必须重新生成 —— 和发布 —— 必须链接到新创建的发布证书并再次生成)

    5. 再次在Xcode > 偏好设置 > 帐户 > Apple ID > (我的公司) > 查看详情,并刷新证书和配置文件。

    感谢苹果开发者论坛上的 Rodrigo


    1
    很棒的答案,我为这个问题花了4小时,在网络上搜寻了很多,没有人能帮助我,而你的回答却帮助了我。现在所有的问题都得到解决。非常感谢。 - Guru
    谢谢你的评论,我做了类似的事情来使它工作,只是我没有撤销证书,而是创建了新的分发配置文件。 - Tar_Tw45
    很好!@Tar_Tw45 我不得不撤销证书,仅创建新的分发配置文件是没有帮助的。另外,如第2点所述,我必须让Xcode代表我创建分发证书。 - Pasta
    这就是我。谢谢你的表扬。上周五我试图在StackOverflow上发布它,但不知怎么的我无法登录,于是就放弃了... 一整天都在尝试解决问题,哈哈。 - rgomesbr

    12

    iTunes连接(或者iTunes Connect所使用的一些服务)目前无法使用,所以"休息一小时后再试试"是你最好的选择。当然,苹果公司直到明天或者更晚才会更新他们的状态页。 https://developer.apple.com/system-status/


    感谢分享系统状态页面,以前不知道它的存在...真的很有用! - Tar_Tw45
    1
    这很可能不是正确的答案。请参阅下面关于消失的配置文件的答案。 - James Harpe

    6

    这是苹果的问题。我尝试验证了几个昨晚还能正常工作的应用程序,代码、凭据或Xcode都没有更改,但是我得到了这个结果。在此输入图片描述


    感谢分享这些信息,这对我们来说非常有用。 - Tar_Tw45

    5

    我们发现没有必要撤销任何东西- 当我进入“配置文件”->“分发”时,我们尝试发布的两个应用程序的两个配置文件已被删除。我重新创建了这些配置文件(但我必须分配新名称,使用旧名称会导致“配置文件已存在”的消息- 因此这些标识符仍然存在- 在某个地方)。下载并安装新的配置文件,重新提交我们在7/18/14制作的存档,一切都很顺利。


    这正是我发现的。但我必须选择@heartmo的答案,因为A.)即使我们(我和你)不需要撤销任何东西,其他人可能需要这样做B.)他回答得更快。...希望你能理解,并在这里投上我的赞成票:) - Tar_Tw45

    2

    目前,苹果iTunes Connect服务器已经宕机。我已经尝试了几乎所有方法,但都失败了。

    建议您休息一下,过一个小时左右再尝试上传。


    我在两个不同的应用程序中遇到了相同的问题。我同意,目前苹果服务器似乎出现了故障。 - Hahnemann

    1
    我在验证我的应用程序时遇到了相同的错误。我收到了一条消息,上面写着:

    由于一般性错误,无法在此时处理应用程序。

    我在SO上搜索了这个问题,只找到一个建议等待一段时间,因为这是来自苹果服务器的错误。我尝试了各种方法,从调整配置文件到改进应用程序性能和链接库,但都无法解决问题。不幸的是,我猜我们没有其他选择,只能等待让苹果完成它的工作。

    1
    昨天,我不得不重新生成过期的分发证书,但每次都出现错误。现在它可以工作了,但我得到了无效二进制错误。看起来苹果做了一些更改,并且错过了一些东西。
    昨天证书的更改和今天无效二进制错误之间可能存在联系,这可能是此问题的可能解释。

    1
    我曾经遇到过相同的问题,并发现我的发布用的描述文件“不知怎么地”从苹果开发者门户网站上消失了。但是当我试图重新创建它时,我收到了关于已存在的描述文件的错误信息(但我根本找不到它)。
    最终,我只是创建了一个全新的发布用描述文件,下载并安装了它。最终,我能够验证应用程序包,并且上传成功了。

    0
    在我的情况下,我更新了我的Mac版本,之后它就正常工作了。

    0

    我也花了一段时间在这个问题上,我的上传之前是可以工作的,并且已经通过了验证。

    然而,一旦上传后,苹果会因为类似下面的问题而失败/拒绝上传的二进制文件 https://dev59.com/SnfZa4cB1Zd3GeqPOCUg=

    重试时,即使没有进行任何修改,而不是在验证后成功上传,我开始收到与OP完全相同的错误。

    修复框架引用问题使我能够成功上传。

    所以,与其上传通过验证然后被拒绝,它不会通过验证,并且我会收到相同的错误,没有任何提示。

    希望这能帮助其他人。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接