Invalid binary - missing 568h file - ios

I am trying to submit my app to Apple Store but I am receiving the "invalid binary" message, informing that is missing the launch image for -568h modifier. But the file is in the package. I checked. Some details:
The launch image are localized but not for all languages. They are present for English and some other languages.
In the simulator and in the testing devices the launch image is displayed correctly.
I checked the sizes and are correct
I am using XCode 4.6.3
I recently installed XCode 5 preview but I am using 4.6.3 command line tools.
There is no UILaunchImageFile entry in the plist file (I am using the Default name).
The images do not appear in the Launch Images panel (after I localized them).
What is going on? I don't have any clue.

Check your file names are like above displayed image.

Found the reason. If the launch image is localized it is necessary to provide the set of images for all languages the app supports. I tried that and Apple accepted my binary.

Looks like you have to ensure there are also default startup images in Base.lproj. I'm guessing they are used if you are running on a device that has a language not directly supported by the app in the other *.lproj folders.
Can anyone clarify this.
Works for me now anyway.

Related

I can't submit my App store App because it doesn't see the assets folder. What is the solution?

I'm a rookie. I'm new to swift. that's why I can't do some things. I need your help. What should I write in my plist file so that I can access the assets folder and transfer my application to the app store store. I have a simple application on this link, it is my first attempt. I want to send this to the app store. Can you download and check my application or can you make the solution in the application and forward it to me? Very happy if you help.
Problems:
-"App Store Connect Process Error ERROR ITMS-90704:" Missing Application Icon. PNG format 1024 An app icon of x1024 pixels must be added to the Asset Catalog of apps created for iOS, iPadOS, or watchOS. Without this icon, it cannot be submitted for review
-Operation Error ERROR ITMS-90023: "Package icon is missing. .png format for iOS versions of iPad Pro, does not include an app icon exactly '167x167' pixels for iPad To support older operating systems, including icon maker.plist in the next package from Allah catalog
It seems that your project is missing the "Assets.xcassets" folder(directory). so this might be the error you are facing
Please verify the below things
Make sure the Assets.xcassets is there is project.
Verify that in your project target (under Deployment info) For App Icons and Launch Image option AppIcon is selected. Please refer the following screen shot.
Does app icon is added in Assets.xcassets?.
You need to add App icon with 1024 x1024 size with non-transparent background.
NOTE: Transparent background will not be working as it will throw error while uploading.

2018: ERROR ITMS-90096: "Your binary is not optimized for iPhone 5"

Recently (17 sept 2018) I've got very surprised with following error while uploading ios app:
ERROR ITMS-90096: "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 value set to
{320, 568}. 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
https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen."
Launch images in app are in Assets and there were no such problems before for few years! Last successful build was 14 sept 2018. I wonder how this outdated (5-6 years) requirement could happen in fall of 2018?! Did somebody else get this issue recently?
The LaunchScreen file must be called 'LaunchScreen.storyboard', regardless of whether you have specified a name in the plist. Whilst changing the name in the plist will show the correct launch screen, it wont pass this poorly written check.
You can check size of your images with the official Apple page.
https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/launch-screen/
Also I would suggest you to use LaunchStoryboard instead of launch image per each device.
In this way you will avoid mess with missed images for some devices.
You can use one image or even apply some layout for launch screen.
https://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/

My binary is not optimized for iPhone 5 while having localized splash screens

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?
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.
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.
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:
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
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.)
Go to the "LaunchImage" assets (can click the arrow button on the right) and fill with images from one of your *.lproj folder.
Now, go to the "LaunchImage" folder which contains images and "Contents.json" file.
Remove ALL the launch IMAGES just added, but kepp the "Contents.json" file.
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!
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.

iPhone 5 Optimization Requirement (using Adobe AIR)

I keep receiving the following message from Apple when submitting my app for approval:
"iPhone 5 Optimization Requirement - Your binary is not optimized for iPhone 5. New iPhone apps and app updates submitted targeting iOS 6 and above 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."
I'm using AIR SDK 3.9 (and I checked to make sure by tracing NativeApplication.nativeApplication.runtimeVersion).
I have a Default-568h#2x.png image in the src folder, and I checked the Project/Properties/ActionScript Build Settings/Package content (I'm using Flash Builder 4.6). It is definitely checked off to be included in the build. In "Export Release Build", I don't see it in the Package Contents there, but I don't see any of the other Default png's either, so I don't think that's the problem.
Does anyone know what I'm doing wrong?
Be sure that the launch images also located in the folder "bin-release-temp"... I have to put them manually into that folder...
The launch images cannot be referenced anywhere in the project. You cannot embed them. You cannot use them. If you do, they are not packaged as launch images, but as images used at runtime. I was having the same problem when I was referencing the images as a SplashScreenImage source. It's an unfortunate way for it to be handled, basically requiring you to include the same image twice, but it is what it is.
This link might help. It describes what and where to keep default images in air application for iPhone deployment.
http://rohitdhore1612.wordpress.com/2013/05/22/air-invalid-binary-iphone-5-optimization-requirement-your-binary-is-not-optimized-for-iphone-5/

Trouble with icon picture when uploading app to app store

I have trouble uploading my application to app store. When I try to archive my project for validation i get an error:
warning: iPhone/iPod Touch: BMELogo.png: icon dimensions (0 x 0) don't
meet the size requirements. The icon file must be 57x57 pixels, in
.png format (-19014) Unable to validate your application. - (null)
I have checked and re-checked my icon for both size and type. My icon is 57x57 and a PNG.
Do any of you know what to do?
in advance thanks :)
This is a weird error, but it could be similar to what happens when apps on the phone don't match what you see in the simulator. Here's a few things to try:
As Damo mentioned, this is most likely a capitalization issue. Make sure that the filename as specified in the plist matches the case of what's on disk. Devices (and the app store) are case-sensitive, but your Mac is not. If it works in the simulator but not on device, you probably have a capitalization problem.
You might need to Clean (from the Build menu) the project and rebuild. Sometimes XCode just gets confused, especially if you've been moving or renaming images. Quitting & restarting XCode might help, too.
Nuke the site from orbit -- manually delete all of the project's output files. Sometimes XCode keeps old versions of image files around packaged somewhere hidden that cleaning doesn't get rid of.
Start over from scratch. Choose a different name, one where you're sure there's no legacy object file lingering about.
Also, you might want to make sure that you are using the latest version of the Application Loader, you can download the latest by logging into iTunes Connect and clicking on Manage Your Applications, the download is at the bottom of the page.
After you download the installer, close down Xcode, then run the Application Loader installer, then relaunch Xcode, load your project, do a clean on the project, and then archive and try the validation.
I had this error too. You need to reinstall Application Loader which you can get from here https://itunesconnect.apple.com/apploader/ApplicationLoader_2.5.1.dmg

Resources