This question already has answers here:
Phonegap app submission to AppStore - ITMS-9000 error
(2 answers)
Closed 5 years ago.
As always the submission to iTunesConnect of my PhoneGap application is being rather troublesome. In particular is this new message I see pop up when I try to use Application Loader.
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
<basename> 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.
Per https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/LaunchImages.html I have created an image of 640 x 1136, named it "Launch_Image_640x1136-568h.png", and placed it in the www folder. Still, it gives me the error.
What's going on here? Hopefully this is something simple and easy to take care of, but I'm at my wit's end right now. Anyone have any information or solutions to this? Thanks.
**UPDATE**
I develop the app with Aptana 3 on Windows 8.1 and only use a mac for certificates, keys, p12 files, and uploading. I'm not using PhoneGap on a mac through xcode.
So I kept on and finally found the answer today here http://community.phonegap.com/nitobi/topics/iphone_5_optimization_requirement-on7f1 and here https://github.com/phonegap/phonegap-start/blob/master/www/config.xml
In a nutshell the issue arose because Apple, in their never ending pursuit to make things difficult, now requires a "launch screen" image to be included in all apps. As a result, you now have to have, currently, 3 different sized launch screen images with a specific naming procedure on each. The solution that I found via the links above was to place the launch screen images in the root directory and add the following three lines to config.xml
<gap:splash src="Default.png" gap:platform="ios" width="320" height="480" />
<gap:splash src="Default#2x.png" gap:platform="ios" width="640" height="960" />
<gap:splash src="Default-568h#2x.png" gap:platform="ios" width="640" height="1136" />
I'm not sure if the launch screen images are required to be in the root directory or not, but it works for me at the moment. Also, I'm not sure if the images have to begin with "Default", but I do know that the larger two images have to have "#2x" and "-568h#2x" on the end of the file name that's the same name as the smallest image.
For more information on "launch screens" see Apple's documentation here https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/LaunchImages.html
Hope this helps someone.
It needs to be declared on the app. click on the Project file (the top most item in Xcode with the blue Xcode icon). navigate to target / general settings launch image is one of the items.
Related
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/
I am building an Apache Cordova app using Visual Studio 2013 with the tools for Apache Cordova extension.
I cannot change the icon that appears in the Apple Store or in iTunesConnect.
I am able to change the icon for android and google play store however.
I have changed the files in res/screens/ios and res/icons/ios accordingly, but it doesn't seem to be updating when I create a new IPA and upload it.
This is the icon I am getting at the moment and this image does not exist anywhere in my project directory structure.
Please notice that the value of the "src" attribute is relative to the project directory and not to the www directory. You can rename the source image whatever you like. The internal name in the app are determined by Cordova.
<platform name="ios">
<!-- iOS 8.0+ -->
<!-- iPhone 6 Plus -->
<icon src="res/ios/icon-60#3x.png" width="180" height="180" />
<!-- other icons -->
</platform>
Hi you need to set image in below locations. There will be default folder created with default cordova logos and splashscreen.
note icons must match the size (height and width).
I am trying to deploy an app to App Store however Apple rejects the app.
I am getting an error ITMS :90096 which is specific to 4 inch splash screen for iPhone 5.
I have added the splash into the app and referred it into the config.xml.
I have tried various solutions on SO and also other sites but no luck.
I am unsure how to fix it and its getting real frustrating now. Can someone help?
The error
My advice would be to start with a new config.xml from the latest "cordova start" package on github. You can find it here.
(If this is an insufficient answer, please post your current config.xml file so we can see what is wrong)
Why you are referring Splash images in Config.xml rather than applying in AssetManager.
Click on your project, General-> App Icon and Launch images.
if you are using ionic to build the app.
You can fix this issue by execute "ionic resources".
the issue is caused by the image size of Default-568h#2x~iphone.png is not 640*1136.
steps to create all size of splashscreens and icons:
1.create a new ionic app by "ionic start myApp tabs"
2.place one splash screen image and one icon to /myApp/resources/ folder
3.execute "ionic resources", this command will generated all size of images and icons that are required by ios.
When uploading an app built with Phonegap Build I was getting this error message with a slightly different text, 'must include a launch image referenced in the Info.plist under UILaunchImages with a UILaunchImageSize value set to {320, 568}.'
I found a workaround by changing phonegap-version in config.xml to cli-6.5.0. ie.
<preference name='phonegap-version' value='cli-6.5.0' />
It seems this is an Apple bug.
I build an ipa using adobe.phonegap.build
Now I want to submit this file to itunesconnect using Appliction Loader.while submitting ipa in the application loader I'm getting errors
Missing recommended icon file - The bundle does not contain an app icon for iPad of exactly '76x76' pixels, in .png format.
How to fix this. I'm using the same config.xml file for both android and ios app builds.
Please help me.
Have a look at this post, looks like he had the same problem.
Looks like you images inside your project, where the size is wrong or some of them are missing. Like apple lists the icons they need, you should be sure you have all pictures inside your project.
Somebody else just posted this:
I just encountered the warning for the image sizes of 76x76, 120x120, and 152x152. It seems to be a new thing with iOS 7 as I built my app using PhoneGap 3.1. I created images of these sizes and added this to my config.xml:
<icon src="images/icon-certify-76.png" gap:platform="ios" width="76" height="76"/>
<icon src="images/icon-certify-120.png" gap:platform="ios" width="120" height="120"/>
<icon src="images/icon-certify-152.png" gap:platform="ios" width="152" height="152"/>
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/