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

17,947

Solution 1

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.

Solution 2

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.

Solution 3

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

enter image description here

Solution 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.

Solution 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" : "[email protected]",
  "extent" : "full-screen",
  "scale" : "2x"
},
{
  "orientation" : "portrait",
  "idiom" : "iphone",
  "filename" : "[email protected]",
  "extent" : "full-screen",
  "subtype" : "retina4",
  "scale" : "2x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "736h",
  "filename" : "[email protected]",
  "minimum-system-version" : "8.0",
  "orientation" : "portrait",
  "scale" : "3x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "736h",
  "filename" : "[email protected]",
  "minimum-system-version" : "8.0",
  "orientation" : "landscape",
  "scale" : "3x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "667h",
  "filename" : "[email protected]",
  "minimum-system-version" : "8.0",
  "orientation" : "portrait",
  "scale" : "2x"
},
{
  "orientation" : "portrait",
  "idiom" : "iphone",
  "extent" : "full-screen",
  "filename" : "[email protected]",
  "minimum-system-version" : "7.0",
  "scale" : "2x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "retina4",
  "filename" : "[email protected]",
  "minimum-system-version" : "7.0",
  "orientation" : "portrait",
  "scale" : "2x"
}
   ],
  "info" : {
"version" : 1,
"author" : "xcode"
  }
}
Share:
17,947
Dmitry
Author by

Dmitry

Updated on July 22, 2022

Comments

  • Dmitry
    Dmitry almost 2 years

    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).

    • bpolat
      bpolat over 9 years
      Can you observe that iPhone 5 or iPhone 6 or iPhone 6+'s native resolution is used when you are testing on simulator or device?
    • Dmitry
      Dmitry over 9 years
      Yes, all is right on simulator and on the devices.
  • theguy
    theguy over 9 years
    @Altaveron Actually that is good to hear. So you mean that it only depends on the name of the launch storyboard?
  • RGML
    RGML over 9 years
    This is not required. Apple supports both .storyboard and .xib.
  • Zhenshan Yu
    Zhenshan Yu about 9 years
    This is the exact answer I am looking for. My app's first version only supports IOS8 so I don't have Launch Images. Now I want to support IOS7 and meet this problem....Thank you.
  • Gabriel Goncalves
    Gabriel Goncalves almost 9 years
    That's the answer, people should take this answer as the right one
  • jimt
    jimt almost 9 years
    This! I've been struggling with this issue for days, and it was exactly this that resolved it. Fantastic!
  • Brian Teeter
    Brian Teeter about 8 years
    I had this exact issue. Apple kept rejecting the binary with "Launch Screen" in the info.plist. Renaming without a space resolved it.
  • Naoto Ida
    Naoto Ida about 8 years
    As of today, React Native had selected 7.0 as its deployment target. Didn't notice it, and was getting very angry. Thanks for this!
  • Kunal Gupta
    Kunal Gupta about 8 years
    Thumps up dude.. Thanks a lottt
  • Peter
    Peter over 7 years
    Yes, I had to rotate all my iPhone launch images to the left and specify portrait as orientation, although the whole app is landscape. Before, it was only an iPad app and it worked fine with only the landscape launch images.
  • redHair
    redHair over 4 years
    Please know that according to Apple's update, starting April 2020, apps submitted to the App Store must use an Xcode storyboard to provide the app’s launch screen (developer.apple.com/news/?id=01132020b)