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 上