28

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

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

我正在使用 SDK 8.1。部署目标是 8.0。启动图像由故事板启动屏幕文件设置。没有过时的启动屏幕图像,我不打算添加它们,因为目标系统是 iOS 8+。

怎么了?Xcode 版本 6.1 (6A1052d)。

4

8 回答 8

41

您的应用程序是否支持 iOS7 或更早版本?这就是问题所在。在这种情况下,您必须将初始屏幕作为 iOS7 的 PNG 文件提供。

LaunchScreen.xib 或 LaunchScreen.storyboard 仅适用于 iOS8 及更高版本。

更多信息在这里: http: //oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/

在 iOS 8 中,您现在可以提供一个 Interface Builder 文档,并在运行时让操作系统为您生成所有必要的启动图像。

于 2015-02-27T12:02:17.277 回答
14

这是生气两天后对我有用的方法:

  1. 将部署目标设置为 7.0
  2. 添加一个大小为320x568的新启动图像并将其命名为Default-568h.png
  3. 在 Info.plist 文件中添加以下代码。
<key>UILaunchImages</key>
    <array>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-568h</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{320, 568}</string>
        </dict>
    </array>

思考点

  • 我的应用程序完全处于横向模式,但我不得不使用上面给出的这个纵向大小的图像。
  • 我必须使用 320x568 大小,即 (1x),尽管我项目中的所有其他资源都是基于视网膜的,即 (2x)
  • 还有一件事:我没有将资产目录用于启动图像。我通过我的代码使用了自定义的启动画面序列,但我仍然必须按照上述步骤来解决这个错误。

截屏

在此处输入图像描述

于 2016-01-13T10:22:05.143 回答
9

将故事板启动屏幕文件重命名为“LaunchScreen.storyboard”。

如果您使用 File -> New -> File 创建一个新的 Launch Screen 文件,Xcode 将默认名称为“Launch Screen.storyboard”。

但是,创建新项目时在 Info.plist 中指定的默认名称是“LaunchScreen.storyboard”,没有空格。

于 2014-11-25T21:48:41.977 回答
1

当我不使用启动屏幕 xib 文件时尝试提交时,我遇到了同样的错误。我拥有正确尺寸的所有正确图像资产,但仍然没有。

我发现了这篇文章,其中一个小伙子遇到了同样的问题,最终使用了 568x320 文件,如错误所示。我尝试了同样的方法,但这对我不起作用。

最后,由于我的应用程序仅适用于 iOS8,因此我使用了 xib 文件并且应用程序提交成功。

于 2015-07-24T10:46:41.940 回答
1

发生此问题是因为您没有正确添加大小为 640x1136 (iphone 5) 的启动图像。

编辑完下面的Contents.json后,就可以正常上传到iTunesConnect了

{
  "images" : [
{
  "orientation" : "portrait",
  "idiom" : "iphone",
  "filename" : "splash-480h.png",
  "extent" : "full-screen",
  "scale" : "1x"
},
{
  "orientation" : "portrait",
  "idiom" : "iphone",
  "filename" : "splash-480h@2x.png",
  "extent" : "full-screen",
  "scale" : "2x"
},
{
  "orientation" : "portrait",
  "idiom" : "iphone",
  "filename" : "splash-568h@2x.png",
  "extent" : "full-screen",
  "subtype" : "retina4",
  "scale" : "2x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "736h",
  "filename" : "splash-736h@3x.png",
  "minimum-system-version" : "8.0",
  "orientation" : "portrait",
  "scale" : "3x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "736h",
  "filename" : "splash-landscape-736h@3x.png",
  "minimum-system-version" : "8.0",
  "orientation" : "landscape",
  "scale" : "3x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "667h",
  "filename" : "splash-667h@2x.png",
  "minimum-system-version" : "8.0",
  "orientation" : "portrait",
  "scale" : "2x"
},
{
  "orientation" : "portrait",
  "idiom" : "iphone",
  "extent" : "full-screen",
  "filename" : "splash-480h@2x.png",
  "minimum-system-version" : "7.0",
  "scale" : "2x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "retina4",
  "filename" : "splash-568h@2x.png",
  "minimum-system-version" : "7.0",
  "orientation" : "portrait",
  "scale" : "2x"
}
   ],
  "info" : {
"version" : 1,
"author" : "xcode"
  }
}
于 2017-07-05T17:26:53.470 回答
0

如果您参考https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html它说 iPhone 6(plus) 需要启动 XIB 或故事板文件。

如果您在这里查看 https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html#//apple_ref/doc/uid/TP40006556-CH27-SW2它指的是图像大小并且从未明确表示 iPhone 5 可以处理启动文件(我知道它也没有说它不能)。至少 iPhone 4s 看起来没有,所以我猜 iPhone 5 也没有,你必须添加一个静态文件。

于 2014-11-25T21:57:24.883 回答
0

对于这里丢失的 Xamarin 灵魂,我通过在 Resources 文件夹下使用名为 Images.xcassets 的图像 xcassets 遇到了这个问题。

我从头开始创建它,将它命名为 Media.xcassets,因为它来自默认,并且在根文件夹下,而不是 Resources。它有效。:/

于 2017-05-19T01:42:11.813 回答
0

我正在使用 React Native,在添加react-native-splash-screen插件后遇到了这个问题

但是,通过此链接遵循该方法后,我得到了解决方案

您的二进制文件未针对 iPhone 5 进行优化

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

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

这次它成功提交了。

于 2017-10-04T07:27:00.767 回答