XCode v4.2 和默认568h@2x.png --提交 iOS 应用程序时> "Invalid Binary"消息



我花了很多时间来解决这个问题。当我通过XCode4.2提交应用程序时,苹果一直接受我上传的二进制文件,但几分钟后才声明二进制文件无效。原来是因为我把"Default-568h@2x.png"放在我的资源文件夹中,试图支持iPhone 5的启动屏幕,并消除"信箱模式"(黑色上下条)……我使用的是2006年的MacBook Pro,因此无法升级到Lion OS或Xcode4.5。此外,我能够为我的客户构建AdHoc版本,在iPhone 5上运行良好(填充整个屏幕)。

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

我在搜索中发现了以下链接,这似乎表明启动图像与iPhone 5的信箱模式无关,可以标记任何名称。然而,我必须承认,当作者开始讨论"视口"one_answers"媒体查询"时,我相当困惑……

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

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

苹果公司慎重决定只允许两种类型的应用程序:

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

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

所有其他应用程序现在被拒绝,如果你上传他们到应用程序商店。你的应用会被拒绝,因为它包含Default-568h@2x.png和以下内容之一:要么支持armv6,要么支持4.3之前的iOS。

如果没有XCode 4.5,就不可能开发出支持iPhone 5大屏幕并被苹果接受的应用程序。

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

更新:

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

  • 启动图像Default-568h@2x.png
  • Base SDK设置为iOS 6(或更新)

如果您添加启动图像而没有设置Base SDKiOS 6, iTunes Connect将拒绝您的应用程序:

"无效的启动图像-您的应用程序包含一个启动图像与大小修改符,仅支持使用iOS 6.0 SDK或更高版本构建的应用程序。"

没有XCode 4.5,你不能选择iOS 6作为Base SDK

我能够按照以下说明在XCode v4.2上安装iOS 6.0 SDK:有可能在雪豹上为Xcode 4.2获得iOS 5.1 SDK吗?之后,我可以创建一个具有以下属性的二进制文件,苹果将接受。

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

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

在开发早期,我破解了一个dmg,在我的机器上安装了iOS6。我把Default-568h@2x.png放在我的应用程序中。我在第五代iPod Touch上测试了临时安装-一切都很好,但是苹果不会接受我的应用程序。

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

亲爱的开发者,

我们发现你方最近发货的"Gazoodle color"有一个或多个问题。为了处理您的交付,必须纠正以下问题:

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

一旦这些问题得到纠正,转到版本详细信息页面,点击"准备上传二进制文件"。继续提交过程,直到应用状态为"等待上传"。然后,您可以交付正确的二进制文件。

问候,

App Store团队

更新:买了一台新的macbook pro,用最新的Xcode(4.6.2)构建了我的应用程序,并重新提交了应用程序。我的应用程序最终处于等待审查状态。我不确定买一台新电脑是否能解决这个问题,但这是一个很好的借口来升级硬件,它实际上解决了无效的二进制问题!

最新更新