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

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


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.


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


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.