我正在尝试将我的第一个应用程序提交到App Store,但是当我尝试时,我收到以下错误:
错误ITMS-9000:"您的二进制文件未针对iPhone 5进行优化 - 新增功能 提交的iPhone应用和应用更新必须支持4英寸显示屏 在iPhone 5上,必须包含一个引用的启动图像 UILaunchImage下的info.plist,UILaunchImageSize值设置为 {320,568}。启动图像必须是PNG文件并位于 您的捆绑包的顶级,或者如果您在.lproj文件夹中提供 本地化您的发布图像。
我使用的是SDK 8.1。部署目标是8.0。启动图像由故事板启动屏幕文件设置。没有过时的启动屏幕图像,我也不打算添加它们,因为目标系统是iOS 8 +。
有什么问题? Xcode版本6.1(6A1052d)。
答案 0 :(得分:41)
您的应用是否支持iOS7或之前的版本?这就是问题所在。在这种情况下,您必须将启动画面作为iOS7的PNG文件提供。
LaunchScreen.xib或LaunchScreen.storyboard仅适用于iOS8及以上版本。
此处提供更多信息:http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/
使用iOS 8,您现在可以提供Interface Builder文档 运行时,让操作系统生成所有必需的启动映像 你。
答案 1 :(得分:14)
以下是生气2天后对我有用的事情:
<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>
要点思考
<强>截图强>
答案 2 :(得分:7)
将故事板启动屏幕文件重命名为“LaunchScreen.storyboard&#39;。
如果使用文件创建新的启动屏幕文件 - &gt;新 - &gt;文件,Xcode会将名称默认为“启动Screen.storyboard&#39;”。
但是,在创建新项目时,Info.plist中指定的默认名称为“LaunchScreen.storyboard&#39;没有空间。
答案 3 :(得分:1)
当我使用启动屏幕xib文件 NOT 时尝试提交时出现同样的错误。我有正确尺寸的所有正确的图像资产,但仍然没有。
我发现this post其中一个小伙子遇到了同样的问题,最后使用了错误中指示的568x320文件。我尝试了同样的但这不适合我。
最后,由于我的应用仅适用于iOS8,因此我使用了xib文件并成功提交了应用。
答案 4 :(得分: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"
}
}
答案 5 :(得分:0)
如果你引用https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html,它说iPhone 6(加号)需要启动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也没有,你必须添加一个静态文件。
答案 6 :(得分:0)
对于丢失的Xamarin灵魂来说,我通过在Resources文件夹下使用名为Images.xcassets的图像xcassets来解决这个问题。
我从头开始创建它,将它命名为Media.xcassets,因为它来自默认,并在根文件夹下,而不是资源。它有效。 :/
答案 7 :(得分:0)
我正在使用React Native,并在添加react-native-splash-screen插件
后遇到此问题但是,我通过此链接跟踪方法后得到了解决方案
Your binary is not optimized for iPhone 5
当我这样做时问题已解决:
这一次成功地提交了。