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 f
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.
Here is what worked for me after getting mad for 2 days:
<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
Screenshot
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.
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.
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:
and this time its successfuly submitted.
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. :/