Can't submit the app with storyboard launch images to the App Store: Your binary is not optimized for iPhone 5

廉价感情. 提交于 2019-11-27 13:32:51

问题


I am trying to submit my first app to the App Store but when I try I am getting the following error:

ERROR ITMS-9000: "Your binary is not optimized for iPhone 5 - New iPhone apps and app updates submitted must support the 4-inch display on iPhone 5 and must include a launch image referenced in the info.plist under UILaunchImage with a UILaunchImageSize value set to {320, 568}. Launch images must be PNG files and located at the top-level of your bundle, or provided within each .lproj folder if you localize your launch images.

I'm using SDK 8.1. Deployment target is 8.0. Launch images are set by storyboard launch screen file. There is no obsolete launch screen images and I don't plan to add them because target system is iOS 8+.

What is wrong? Xcode version 6.1 (6A1052d).


回答1:


Does your app support iOS7 or previous? That's the issue. In that case you have to provide the splash screen as PNG files for iOS7.

LaunchScreen.xib or LaunchScreen.storyboard only works with iOS8 onwards.

Further information here: http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/

With iOS 8, you can now provide an Interface Builder document and, at runtime, have the OS generate all of the necessary Launch Images for you.




回答2:


Here is what worked for me after getting mad for 2 days:

  1. Set Deployment Target to 7.0
  2. Add a new splash image of size 320x568 and name it as Default-568h.png.
  3. Add the below code in your Info.plist file.
<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>

Points To Ponder

  • My App was completely in Landscape Mode but I had to use this Portrait sized image of the size given above.
  • I had to use 320x568 size which is (1x) although every other resource on my project was retina based i.e (2x)
  • One more thing: I did not used Asset Catalogues for Launch Images. I was using a custom sequence of splash screens via my code but still I had to follow above steps to get through this error.

Screenshot




回答3:


Rename storyboard launch screen file to 'LaunchScreen.storyboard'.

If you create a new Launch Screen file using File -> New -> File, Xcode will default the name to 'Launch Screen.storyboard'.

However, the default name specified in your Info.plist when creating a new project is 'LaunchScreen.storyboard' without the space.




回答4:


I had this same error when trying to submit when I was NOT using a launch screen xib file. I had all the right image assets at the right dimensions but still no.

I found this post where a chap had the same issue and ended up using a 568x320 file as indicated in the error. I tried the same but this didn't work for me.

In the end, as my app is for iOS8 only, I used a xib file and the app submitted successfully.




回答5:


This issue happens because you don't add launch image whose size is 640x1136 (iphone 5) correctly.

After editing Contents.json below, I can upload to iTunesConnect normally

{
  "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"
  }
}



回答6:


If you refer to https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html it says that iPhone 6(plus) require launch XIB or storyboard file.

And if you have a look here https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html#//apple_ref/doc/uid/TP40006556-CH27-SW2 it refers the image sizes and never explicitly says that iPhone 5 can handle a launch file (I know it also does not say that it doesn't). At least iPhone 4s looks like it does not, so I guess that iPhone 5 doesn't either and you have to add a static file.




回答7:


For the lost Xamarin souls here, I had this issue by using an images xcassets called Images.xcassets under the Resources folder.

I create it from scratch, name it Media.xcassets as it comes from default, and under the root folder, not Resources. And it works. :/




回答8:


I'm using React Native, and got this problem after adding react-native-splash-screen plugin

However, I got the solution after following the method via this link

Your binary is not optimized for iPhone 5

The problem has solved when I do this:

  1. I have removed laungh images' xcassets totally
  2. added the launch image set
  3. and added all launch images again
  4. created a new ipa again

and this time its successfuly submitted.



来源:https://stackoverflow.com/questions/27136053/cant-submit-the-app-with-storyboard-launch-images-to-the-app-store-your-binary

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!