0

My app keeps getting rejected as an invalid binary after uploading it to iTunesConnect via ApplicationLoader. The e-mail notification I'm getting is:

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 with the -568h size modifier immediately following the portion of the launch image's filename. 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. Learn more about iPhone 5 support and app launch images by reviewing the 'iOS Human Interface Guidelines' at /.../

Which is weird as I'm packing all splash screens in the binary, checked that through extracting my .ipa aswell and they are there (in their respective .lproj-s), correctly named and of correct sizes. I do not use the Asset Catalog, as I haven't found a way to localize that (yet).

What could be the issue for the rejection?

PeterB
  • 58
  • 7
  • possible duplicate of ["Your binary is not optimized for iPhone 5" after I upload an app with xcode 6.0.1](http://stackoverflow.com/questions/26182966/your-binary-is-not-optimized-for-iphone-5-after-i-upload-an-app-with-xcode-6-0) – Jon Winstanley Jul 15 '15 at 15:29

4 Answers4

1

The issue here seemed to be that it was expected that the splashes would be in EVERY localization folder, even if I didn't localize the splash for that particular language. INCLUDING Base.lproj. After copying the english splashes into default, the app got through the initial check and is awaiting review as we speak.

PeterB
  • 58
  • 7
  • What do you mean by `Default.lproj`? I have a `fr.lproj`, an `en.lproj`, a `nl.lproj` and a Base.lproj` but what is `Default.lproj`? I am still being rejected by itunesconnect -_- – Benjamin Toueg Oct 06 '14 at 18:09
  • Sorry, yes I meant `Base.lproj`. I fixed the error in the answer. Do you have the all the localizations for the splashes in their folders? During my search I came up with numerous possibilities for this error.... Are you sure you have AssetCatalog disabled? – PeterB Oct 07 '14 at 18:55
  • Yes AssetCatalog is disabled, I'll give another try to `Base.lproj` then. – Benjamin Toueg Oct 07 '14 at 22:35
  • I've tried again today and having a `Base.lproj` version of the LaunchImage did not fix anything. – Benjamin Toueg Oct 23 '14 at 14:00
1

I also face the same problem in my case myapp plist file contains key "Launch Image" after remove the key from plist issue fixed on validation.

Prabha
  • 31
  • 9
0

We faced the same issue and couldn't solve it after trying many solutions, we believe it's a kind of bug in App submission. But we found a workaround which can keep launch images localized and pass the submission verification.

Environment:

Xcode 6.1 (6A1052c) with iOS 8.1 SDK

Precondition:

Have following properties in your "*-info.plist" file.

enter image description here

Steps:

  1. Go to your target's settings and in our standard scenario (localize launch images, which uses "UILaunchImages" in "*-info.plist" but not image assets), it should look like the image enter image description here

  2. Change the setting to use image assets (Note: after this step, Xcode will automatically REMOVE the "UILaunchImages" properties in your *-info.plist file. So please BACKUP the properties first.)

  3. Go to the "LaunchImage" assets (can click the arrow button on the right) and fill with images from one of your *.lproj folder. enter image description here

  4. Now, go to the "LaunchImage" folder which contains images and "Contents.json" file. enter image description here

  5. Remove ALL the launch IMAGES just added, but kepp the "Contents.json" file.

  6. Check the "Contents.json", it should contains properties like image below enter image description here

Double check following items:

  • *-info.plist contains "UILaunchImages" properties

  • Project setting uses image asset for launch images

  • "Contents.json" in "LaunchImage" asset folder and the folder DOES NOT really have launch images

Now you can have a try for localized launch images and submit the binary to iTunes Connect. In our App, the workaround did work for "localized launch images" and "submission successful".

It should be a trick for avoiding the bug in submission checking.

Since the workaround above doesn't change any resource, except making the checking thinks we use image assets, we are more convinced that there are some bugs in Apple's checking.

Cheers!

Charlie Hung
  • 1,197
  • 1
  • 17
  • 19
  • While this may answer the question, it is better to provide the actual information here and not just a link. [Link-only answers are not considered good answers and will probably be deleted](http://stackoverflow.com/help/deleted-answers). – elixenide Nov 11 '14 at 20:54
  • @EdCottrell Thanks for your suggestion, I'm new to stackoverflow and I will try to follow the website suggestions. – Charlie Hung Nov 12 '14 at 02:24
0

I had the same problem. You don't need launch images if running in ios 8. I made a new launch screen as a storyboard and deleted the xib version. Change the settings in Targets -> General -> Launch Screen file to reflect the new file. And make sure Targets -> Info -> UILaunchStoryboardName is updated as well.

Brittany
  • 266
  • 1
  • 3
  • 8