My binary is not optimized for iPhone 5 while havi

2019-09-06 21:19发布

问题:

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?

回答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.



回答2:

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.



回答3:

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.

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

  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.

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

  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

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!



回答4:

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.