itunesconnect iphone 应用程序状态 - 无效的二进制文件

Posted

技术标签:

【中文标题】itunesconnect iphone 应用程序状态 - 无效的二进制文件【英文标题】:itunesconnect iphone app status - invalid binary 【发布时间】:2010-09-07 13:07:49 【问题描述】:

每当我将我的应用程序提交到 itunesconnect 时,大约 10 分钟后,状态就会变为“无效二进制”,完全没有解释原因。

我已经到处寻找答案,但没有。我什至重新安装了 XCode 和 App loader。

请注意,App Loader 不会给出任何错误。

我使用 XCode 3.2.3 iPhone 4 GM Seed 基于 iPhone 4 的 SDK iPhone/iPad 作为目标系列构建

【问题讨论】:

【参考方案1】:

即使 Application Loader 接受了我的二进制文件,iTunes Connect 也会出现同样的 INVALID BINARY 错误。解决方法很简单...

打开您的 info.plist,右键单击并选中 Show Raw Key/Values

CFBundleIconFile = Icon.png(我的 iPhone 57x57 PNG 图标) CFBundleIconFile~ipad = Icon-72.png(我的 ipad 72x72 PNG 图标) CFBundleIconFiles = 数组 项目 0 = Icon.png 项目 1 = Icon@2x.png(我的 iPhone 4 114x114 PNG 图标) 项目 2 = Icon-72.png

保存、清理所有目标、构建和分析、在 Finder 中压缩并重新提交!

错误是因为我键入了“图标文件”键。在原始视图中,这已映射到“图标文件”而不是 CFBundleIconFiles。我有 Xcode 3.2.3,我猜 Xcode 3.2.4 更好地映射了这个键标识符。

祝大家好运!

来源:Technical Q&A QA1686: App Icons on iPad and iPhone

【讨论】:

【参考方案2】:

“无效的二进制文件”确实花了我 4 天的时间才弄清楚。因为我偶然发现了这个有用的页面,所以我想帮助您节省宝贵的时间。就我而言,在供应门户中,一位同事撤销了分发证书,建立了一个新证书,但没有让我知道。您可以使用新证书来制作新的 prov 文件,并且在构建过程中,xcode “认为”一切都很好。当然不是。只有在上传到 iTunes 连接后,您才会看到“无效二进制”注释,没有进一步的解释。解决方案是通过整个证书申请程序(再次)撤销证书并制作一个新证书。使用它作为证书,你会没事的 - 不再有未注释的“无效二进制文件” - 如果你与其他人共享 tzh eteam 代理访问门户,请确保让他们知道并交出你的新 .p12 密钥文件.

【讨论】:

【参考方案3】:

这个话题很老,但我今天遇到了同样的问题,也许我的解释将来会对某人有所帮助。

通过 Xcode 4 管理器提交应用程序时,您必须选择分发配置文件。确保这与您在构建设置(项目和目标)中设置的配置文件完全相同。对于我几乎所有的项目,我不必将构建设置从开发更改为分发,并且在提交时仅在组织者中选择分发就足够了。但在一种情况下,这会导致 iTunes Connect 出现“无效二进制”错误。

【讨论】:

谢谢。这解决了我的问题。这是我最终认为“我是个白痴”的事情之一,因为现在看起来很明显。无论如何,谢谢:)【参考方案4】:

Apple 最近改进了对此的错误报告,现在您将收到一封电子邮件,相应地突出显示该问题。请耐心等待,可能需要几分钟才能进入。我收到了以下突出显示问题的电子邮件:

尊敬的开发者,

我们发现您最近为“XXX.APP”提交的二进制文件存在一个或多个问题。在审核您的应用之前,必须先纠正以下问题:

无效的图标路径 - 在键“CFBundleIcons”下引用的路径中找不到图标:xxxIcon.png

纠正这些问题后,请转到“版本详细信息”页面并单击“准备上传二进制文件”。继续提交过程,直到应用状态为等待上传,然后使用 Application Loader 上传更正后的二进制文件。

问候,

iTunes Store 团队

【讨论】:

【参考方案5】:

我遇到了同样的问题,我是这样解决的:

    没有列出 CFBundleIconFile,而是列出了图标文件和图标文件。将图标文件更改为图标文件选项。现在单击图标文件标签旁边的左箭头以展开列表。您将看到项目 0,选择项目 0,然后单击右侧的加号按钮以添加另一个项目。然后您应该会看到第 1 项。在第 0 项中输入您的 56x56 图标文件名,在第 1 项中输入您的 72x72 图标文件名。保存信息列表

    因为我希望这个应用同时是 Iphone/Ipad 我选择:

    架构为标准(您将收到警告,但如果您更改为仅 armv7 进行无警告构建,则二进制文件将被 itunesconnect 拒绝) 基础 sdk 为 3.2 目标设备系列为 Iphone/iPad ios 部署目标为 3.2

    现在构建应用商店分发、压缩并上传到 iTunes 连接。

【讨论】:

【参考方案6】:

我遇到了同样的问题。应用停留在“已上传”状态超过 5 天。在以“管理您的应用程序”和“已收到上传”为主题联系 Itunes Connect 支持并回答不必要的问题后,应用程序状态更改回“无效二进制文件”。在搜索了建议检查图标文件的解决方案后,我发现了另一个检查证书的提示。

这是我的解决方案:我使用 Mac 的 KeyChaining 工具重新创建了分发证书,现在使用 RSA 私钥而不是 DSA。这有帮助。我重新上传了应用程序,几分钟后状态变为“等待审核”。

【讨论】:

【参考方案7】:

我来这里是为了同样的问题,尝试了 App Launcher 更新等等。我尝试重新启动并重新提交十几次,一次又一次手动编辑 info.plist。对我来说,解决方案注意到现在有一​​个“图标文件”和“图标文件(iOS5)”条目。检查这两个是否对移动图标的错误引用。

【讨论】:

【参考方案8】:

你压缩了二进制文件吗?可能想试试。

来自 iTunesConnect 开发者指南:

应用程序二进制和小应用程序图标 保持文件大小尽可能小 可能,都是为了便于上传 通过 iTunes Connect,并为 最终用户的购买体验。这 二进制文件必须是压缩文件,并且通过 上传时的代码签名检查 iTunes 连接。

iPhone 和 iPod touch: 如果您正在上传要运行的应用程序 iPhone 和 iPod touch,二进制必须 包括一个 57x57 像素的图标, 这将显示在家里 查看时的屏幕和 App Store 从 iPod touch 和 iPhone。你 还可以选择包括高分辨率 要拍摄的 114x1144 像素的图标 Retina 显示屏的优势 iPhone 4。

iPad:如果您正在上传 要在 iPad 上运行的应用程序,二进制文件必须 包括两个图标:一个是 50x50 像素和一个 72x72 像素, 将在 iPad 上显示 主屏幕和 App Store 时 在 iPad 上观看。

【讨论】:

是的,我压缩了二进制文件,通过 App Loader 成功提交【参考方案9】:

如果一切都失败了,重启,重启,重启。在我的应用被接受之前,我最终重新启动并重新提交了五次(老实说,没有进行其他更改)。

【讨论】:

【参考方案10】:

还有一些其他的尝试。

如果你有一个旧的 xcode 3.2 Entitlements.plist 文件。 删除它并重新创建 > 新文件 > 代码签名 > 权利。

检查存档配置 产品 > 编辑方案 > 存档 > 构建配置 确保选择了正确的。 (对我来说选择了发布,但我需要分发配置文件 - 你的可能会有所不同)

【讨论】:

【参考方案11】:

由于一些基本原因,您的 Binary final 被拒绝。

喜欢,

1)检查项目信息选项卡中的“图标文件”选项。

如果你的应用是通用的图标文件应该是 4 或 itune guide Link

2)如果您的应用没有任何启动画面,则必须检查启动画面,然后还要为两个设备提供空白启动画面。在通用设置中。

3) 如果您正在更新应用程序,请检查之前上传的应用程序和您的应用程序的二进制版本。您的应用程序必须有更高版本然后上传。

4) 检查捆绑包名称和版本。

【讨论】:

以上是关于itunesconnect iphone 应用程序状态 - 无效的二进制文件的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 iPhone 应用程序二进制文件 - 在 iTunes Connect 上

无法向通过 iTunes Connect 提交的 iPhone 应用程序提交修复

关于 iphone 应用下载次数

iPhone 4 唯一的应用程序?

[iOS问题归总]iPhone上传项目遇到的问题

iTunes Connect 上传应用程序仅适用于 4 英寸(iPhone 5、iPhone 5s)