【问题标题】:Your binary is not optimized for iPhone 5您的二进制文件未针对 iPhone 5 进行优化
【发布时间】:2014-12-10 00:33:14
【问题描述】:

我正在尝试将我的第一个应用程序提交到 App Store,但是当我尝试时收到以下错误:

错误 ITMS-9000:“您的二进制文件未针对 iPhone 5 进行优化 - 新 提交的 iPhone 应用和应用更新必须支持 4 英寸显示屏 在 iPhone 5 上,并且必须包含在 UILaunchImage 下的 info.plist 将 UILaunchImageSize 值设置为 {320、568}。启动图像必须是 PNG 文件并且位于 您的捆绑包的顶级,或者在每个 .lproj 文件夹中提供,如果您 本地化您的启动图像。

在 Images.xcassets 中没有 LaunchImage 文件。

我不知道出了什么问题,我正在使用 LaunchScreen.xib 作为我的启动屏幕,它在我的 iPhone 6 和 iPhone 5 屏幕上运行。我正在使用 Xcode 6.0.1 (6A317)。

有什么可能是错误的线索吗?

谢谢!

【问题讨论】:

  • Apple 的错误信息往往非常清晰。处理您收到的消息并确保您的捆绑包满足他们的所有要求。
  • 除了 iOS 8 之外,您的应用还支持 iOS 7 或更早版本吗?如果是这样,您需要 4" 启动图像,正如错误消息中所述。
  • 确实如此,它是iOS 7+,那个图像去哪里了?我将如何在 info.plist 中引用它? @rmaddy 谢谢
  • 我在这篇文章中关注了答案:stackoverflow.com/questions/18976412/…
  • 我在部署目标 iOS 8 时遇到了同样的错误。这种情况有什么问题? stackoverflow.com/questions/27136053/…

标签: ios iphone xcode


【解决方案1】:

我的初始图像设置为 320x568,我将其更改为 568x320。修复了问题。如此简单,却耗费了如此多的时间。

我的文件名为:Default-568h~iphone.png(“默认”一词几乎可以与任何东西互换)

我正在通过 Adob​​e Animate 导出/发布

【讨论】:

    【解决方案2】:

    在 info.plist 中添加以下内容

    <array>
    <dict>
    <key>UILaunchImageName</key>
    <string>Default</string>
    </dict>
    </array>
    

    并且还在源包中添加 320x568 及其 2x 图像,iPhone 为 640x1136,iPad 为 768x1024。 如果这些不做验证将导致错误。

    【讨论】:

      【解决方案3】:

      您可以通过此链接参考解决方案

      Your binary is not optimized for iPhone 5

      当我这样做时问题已经解决了:

      1. 我已经完全删除了 laungh 图像的 xcassets
      2. 添加了启动图片集
      3. 并再次添加了所有启动图像
      4. 又创建了一个新的ipa

      这次提交成功了。

      【讨论】:

        【解决方案4】:

        我有一个导致问题的轻微损坏的 PNG - 其他一切都很好。

        基本上,我使用的 PSD 的自动导出功能导出为 JPG,我将扩展名更改为 PNG,虽然它看起来没问题并且在预览中加载良好,但文件不是合法的 PNG。

        TL;DR 检查您的资产是否有效。

        【讨论】:

          【解决方案5】:

          当您使用 xib 或故事板作为启动屏幕时会出现此问题。这是 iOS 8 的一项新功能(因此它在 iOS 7 中不可用)。由于 Apple 尚未放弃对 iOS 7 的支持,因此他们仍然需要为此版本提供启动屏幕。

          您可以按照选择的答案更改为 Images.xcassets,但是如果您想为 iOS 8+ 设备使用 LaunchScreen.xib(如您所调用的),您需要做的就是创建 LaunchScreen 图像老办法:​​

          • 在您的 plist 文件中添加一个名为 UILaunchImages 类型为 Array 的新行。
          • 在您的数组(第 0 项)中添加一个 Dictionary 类型的新项。
          • 在字典中添加一个新项目,键为UILaunchImageName,值为Default
          • 将 2 张图片添加到您的捆绑包中:尺寸为 (320x568) 的 Default-568h.pngDefault-568h@2x.png (640x1136)。

          如果您希望您的应用程序在其他装有 iOS 7 的旧设备上运行,您还可以添加 4s 尺寸、iPad 尺寸等作为默认图像。

          【讨论】:

          • 对我非常有用。谢谢
          • 快进到 2016 年,重新生成启动图像源解决了问题。我的意思是 xcode 会自动处理它。不过,我不得不拖放 Default-x 图像。 stackoverflow.com/questions/23780432/…
          • 哦,好的,它有效。我以前不能,因为我错过了 568h.png 中的 h
          • 这个解决方案确实节省了我的时间。我花了一整天的时间解决问题,最后通过将部署版本从 7.1 更改为 iOS 8.0 来解决。谢谢!
          【解决方案6】:

          如果您使用的是 Images.xcassets,请确保在您的项目设置中设置了常规 > 应用图标和启动图像 > 启动图像源。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2023-03-24
            • 2014-11-08
            • 2015-05-26
            • 2015-12-07
            • 2015-05-03
            • 2019-02-23
            相关资源
            最近更新 更多