XCode v4.2和Default-568h@2x.png - >提交iOS应用程序时出现“无效二进制”消息

时间:2013-01-05 09:52:13

标签: iphone ios xcode ios6 xcode4.2

我花了很多时间试图解决这个问题。当我通过XCode4.2提交我的应用程序时,Apple不断接受我上传的二进制文件,但仅在几分钟后声明二进制文件无效。结果是因为我在我的资源文件夹中放置了“Default-568h@2x.png”以试图支持iPhone 5的启动画面并消除“信箱模式”(黑色顶部和底部条形图)......我我正在使用2006 MacBook Pro,因此无法升级到Lion OS或Xcode4.5。此外,我能够为我的客户构建AdHoc版本,在iPhone 5上运行得很好(填满整个屏幕)。

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

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

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

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

3 个答案:

答案 0 :(得分:11)

Apple已经下定决心只允许两种类型的应用:

  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需要)。

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

    如果没有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

答案 1 :(得分: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接受的以下属性创建二进制文件。

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

答案 2 :(得分:1)

我从2006年开始使用Mac mini,运行Snow Leopard,Xcode 4.2。昨晚(2013年5月2日),我的提交内容完全相同。管理器上传应用程序,并表示一切正常。在几分钟内,下面的电子邮件将通过。我做了电子邮件建议的内容。然后我仔细检查,三重检查所有设置,重新创建证书/配置文件....仍然无效二进制。

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

无论如何,我今年要买一台新的mac。我今晚要去Apple商店买一个。这是来自Apple的电子邮件:

  

亲爱的开发人员,

     

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

     

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

     

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

     

此致

     

App Store团队

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