"Your binary is not optimized for iPhone 5" (ITMS-90096) when submitting

Solution 1:

Update August 2016

When using Xcode 7+ and targeting iOS 8+ it is recommended to remove the .xib file and create a new LaunchScreen.storyboard by using the given template: Add Files...

And than setting it in the Project File under App Icons and Launch Images: App Icons and Launch Images


Original October 2015 Answer

So like @Aditya Deshmane I also use .xib file as my "Launch Image".

Adding both Default-568.png and [email protected] to my root directory didn't solve my issue.

I had to add the UILaunchImages key to my Info.plist:

<key>UILaunchImages</key>
<array>
    <dict>
        <key>UILaunchImageName</key>
        <string>Default-568</string>
        <key>UILaunchImageSize</key>
        <string>{320, 568}</string>
    </dict>
</array>

Info.plist As described here: iOS Key UILaunchImages

Solution 2:

  1. Check all those images are .PNG
  2. Put those images at root level of your project
  3. Add another splash.png with name "[email protected]" for iPhone 5. Its size should be 640 × 1136 pixel.

Solution 3:

Question is already answered and works as well, just adding one more answer as i got similar error in different scenario.

In my case i was using LaunchScreen.xib which is alternative to using splash images.

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

As stated in above link "In iOS 8 and later, you can create a XIB or storyboard file instead of a static launch image."

But even after using XIB i got this error.

To solve this i took screenshot of splash from 4 inch device running iOS 8, which was 640 × 1136 pixel. Renamed it to "[email protected]" added it to top level in project bundle.

Reason behind this error could be :

When apple transitioned from 3.5 inch devices to 4.0 devices, this image was compulsory otherwise app used to run in letterbox mode ( On 4 inch devices you will see black bars on top and bottom of application ). So when i tried to run my application on 4 inch device/simulator running iOS 7.1 it was indeed running into letterbox mode ( when i only used .xib based splash ). The moment i added "[email protected]" letterbox mode gone plus apple approved app.