3
votes

I want to validate my app in Xcode but it keeps failing for some odd reason, and tells me this:

iTunes Store operation failed 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 UILaunchImages with a UILaunchImagesize and so on...

I tried to add launch images, I removed them, added as an array in info.plist, but nothing seems to work.

_________EDIT__________

I solved the problem by changing the Launch Screen File in the General tab to Main.StoryBoard

Here: http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/

2
Using storyboard launch screens won't work for iOS 7 and below.Almo
If you fix your problem, add the solution as an answer to the question, not an edit in the question. You can then accept the answer as the correct one later.Almo

2 Answers

4
votes

You have to include launch images of the right size for the various screen sizes: 3.5, 4, 4.7, and 5.5 inches.

Here's a list of the resolutions:

http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions

And here's an app that will create all these for you, and then you just dump the resuling .xcassets into your project and it works. Very well worth the $2, and I am not affiliated with that developer.

https://itunes.apple.com/ca/app/asset-catalog-creator-app/id809625456?mt=12

2
votes

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

Set Deployment Target to 7.0 Add a new splash image of size 320x568 and name it as Default-568h.png. 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.