0

我花了很多时间试图解决这个问题。当我通过 XCode4.2 提交我的应用程序时,Apple 不断接受我上传的二进制文件,但几分钟后才宣布二进制文件无效。原来是因为我在资源文件夹里放了“Default-568h@2x.png”,试图支持iPhone 5的闪屏,去掉“信箱模式”(上下黑条)……我我使用的是 2006 MacBook Pro,因此无法升级到 Lion OS 或 Xcode4.5。此外,我能够为我的客户构建在 iPhone 5 上运行良好的 AdHoc 版本(填满整个屏幕)。

有谁知道我可以实施一种解决方法来让 Apple 接受我的二进制文件,同时仍然能够支持 iPhone 5 的大屏幕(没有黑色的顶部或底部条)?如果我重命名“Default-568h@2x.png”,我可以让 Apple 接受我的二进制文件,但我会失去与 iPhone5 的兼容性吗?

我在搜索中找到了以下链接,这似乎表明启动图像与 iPhone 5 的信箱模式无关,可以标记任何名称。但是,我必须承认,当作者开始讨论“视口”和“媒体查询”时,我相当迷茫……

http://www.mobilexweb.com/blog/iphone-5-ios-6-html5-developers

提前感谢您提供的任何帮助!

4

3 回答 3

11

Apple 已深思熟虑地决定只允许两种类型的应用程序:

  1. 使用 XCode 4.4 及更早版本构建的应用程序,适用于最高版本 5 的 iOS,包括支持armv6(iPhone 3G 需要),但不支持 iOS 6,也不支持 iPhone 5 的大屏幕。

  2. 使用 XCode 4.5 构建的应用程序,至少为 iOS 4.3 构建,可能支持更大的屏幕 ( Default-568h@2x.png),但不支持 4.3 之前的 iOS 并且不支持armv6架构(iPhone 3G 需要)。

现在,如果您将所有其他应用上传到 App Store,它们将被拒绝。您的应用程序被拒绝,因为它包含Default-568h@2x.png以下内容之一:armv6支持或对 4.3 之前的 iOS 的支持。

如果没有 XCode 4.5,就不可能创建支持更大的 iPhone 5 屏幕并被 Apple 接受的应用程序。

有些人设法构建和上传了同时支持 iPhone 3G 和 iPhone 5 的应用程序。但这非常棘手,需要并行安装至少 XCode 4.5 和一个更早版本。

更新:

如果我没记错的话,支持大屏的关键点是:

  • 发射图像Default-568h@2x.png
  • Base SDK的设置为iOS 6(或更高版本)

如果您在未将Base SDK设置为iOS 6的情况下添加启动图像,iTunes Connect 将拒绝您的应用:

“无效的启动图像 - 您的应用包含带有大小修饰符的启动图像,仅支持使用 iOS 6.0 SDK 或更高版本构建的应用。”

如果没有 XCode 4.5,您将无法选择iOS 6作为Base SDK

于 2013-01-05T10:45:22.983 回答
2

我能够按照以下说明在我的 XCode v4.2 上安装 iOS 6.0 SDK: Is it possible to get the iOS 5.1 SDK for Xcode 4.2 on Snow Leopard? 之后,我可以创建一个具有 Apple 接受的以下属性的二进制文件。

  • 启动图像 Def​​ault-568h@2x.png
  • Base SDK 的设置为 iOS 6(或更高版本)
于 2013-01-07T06:59:55.943 回答
1

我有一台 2006 年的 Mac mini,运行 Snow Leopard,Xcode 4.2。昨晚(2013 年 5 月 2 日)我的提交也遇到了完全相同的问题。组织者上传了应用程序,并说一切都很好。几分钟之内,下面的电子邮件就通过了。我按照电子邮件的建议做了。然后我仔细检查,三次检查所有设置,重新创建证书/配置文件....仍然无效的二进制文件。

在开发早期,我能够破解 dmg 以在我的机器上安装 iOS6。我把Default-568h@2x.png我的应用程序。我在第 5 代 iPod Touch 上测试了临时安装 - 一切正常,但 Apple 不会接受我的应用程序。

反正我今年打算买一台新的mac。我今晚要去苹果商店买一个。这是来自 Apple 的电子邮件:

亲爱的开发者,

我们发现您最近交付的“Gazoodle Colours”存在一个或多个问题。要处理您的交付,必须更正以下问题:

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

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

问候,

应用商店团队

更新:得到了一个新的 macbook pro,用最新的 Xcode (4.6.2) 构建了我的应用程序并重新提交了应用程序。我的应用程序终于处于 Waiting for Review 状态。不确定购买新计算机是否能解决问题,但这是升级硬件的好借口,它实际上解决了无效二进制问题!

于 2013-05-03T23:02:47.310 回答