I'm looking at the iPhone 5 specs, and see that the screen resolution is 640x1132 or so, which would break some of my manual+storyboard interface layouts. I'm wandering how to make an app so it would either show on iPhone 5 in 640x960 screen (with black bars), or exclude my app from sale to iPhone 5 at all, as I do not want to worry about the interface breaking. Is this possible for existing apps?
Thank you for your input!
Unless you include a Default-568h#2x.png image in your application, it will not run at full iPhone 5 resolution.
In the Apple keynote on the 12th Sept 2012, they said all current applications in the app store would run on the iPhone 5 with without a problem using the black letterbox at the top and bottom.
The way to remove the letterbox is by providing a Default-568h#2x.png image, like duskwuff mentioned. If its not there, the device will run the application will run at 640x960.
Related
When trying to upload a binary to App Store, I get the following response in an email:
"iPhone 5 Optimization Requirement - Your binary is not optimized for iPhone 5. As of May 1, all new iPhone apps and app updates submitted must support the 4-inch display on iPhone 5. All apps must include a launch image of the appropriate size. Learn more about iPhone 5 support by reviewing the iOS Human Interface Guidelines."
Also, the status of the app is "Illegal binary".
I've read that I must include a launch image called "Default-568h#2x.png". Question is: My app was not intending to have a launch image at all. Am I really required to have a launch image now?
Yes you must include one. Not only does the launch image give the hint to the OS about the app's iPhone 5 (4" screen) support, but launch images in general are required:
From Apple's Interface Guidelines
To enhance the user’s experience at app launch, you must provide at least one launch image. A launch image looks very similar to the first screen your app displays. iOS displays this image instantly when the user starts your app and until the app is fully ready to use. As soon as your app is ready for use, your app displays its first screen, replacing the launch placeholder image.
Furthermore:
Generally, design a launch image that is identical to the first screen of the app.
So really, making a launch image that is about the same as the first screen of your app (e.g. if the first screen is a UITableViewController with a toolbar and navigation bar, perhaps the screen looks like an empty navigation bar, an empty toolbar, and an empty table view, which then suddenly all become populated as soon as your app really gets going), is the way to go for the best user experience.
If really you don't want or need this, then make the default images just be black.
Yes, as stated, as of May 1, 2013, all new apps and app updates must provide support for the new iPhone 5 4-inch display.
The way to indicate that your app supports (has been tested with) the new iPhone 5 resolution is to simply include the launch image for that device.
You can simply create a black .png image (which is what your other default launch images are anyway) that is 640 x 1136 pixels and use that as the launch image for that device.
Simply including the new splash screen image (Default-568h#2x.png) is not enough
You must re-build your project with the iOS 6.0 SDK (or newer) - which supports iPhone 5
So if you're still using an older SDK, update your XCode in the App Store first
Yes. from 1st May, you can't upload application with out including Default-568h#2x.png in your application.
I have an application in iphone market which works for iPhone 4s and lower version. So now iPhone 5 has been launched which bigger size screen, my question is what all changes i have to do in my application so that it will be compatible with iPhone 5 also.
1) Do i have to rebuild my app for iPhone 5?
2) Do i have to make changes only in UI ?
3) Will the iPhone 5 will its make it compatible?
Your valuable replies will help me a lot. Thanks in advance.
Here is my answers,
1) Do i have to rebuild my app for iPhone 5?
If you want to utilize the complete screen space, you can add Default-568h#2x.png and rebuild the app and release it.
2) Do i have to make changes only in UI ?
You can utilize the complete screen space for iphone 5. You can code for screen modifications in case of other iPhones.
3) Will the iPhone 5 will its make it compatible?
Yes. It will make it automatically compatible. It will add a black strip on top and bottom to compensate for the extra space in the screen unless you add Default-568h#2x.png.
If your app uses the standard UIKit provided by Apple, you only need to add a 4 inch launch image to your app, and it will automatically resized itself. But if your app using custom controls or graphics-heavy like in games, you might want to adjust the images and take advantage of the larger screen.
You also have to make sure the methods you used do not deprecated on iOS6 to prevent the app from crashing. Some references if you need further reading.
To make older app compatible with iPhone 5 You need to look for Following things.
Latest Xcode version 4.5.
Open your project and select Upgrade settings for new version.
Add Default-568h#2x.png for new resolution .
For UI you have to change your xib's object autoresizing property.When you select View Go to
inspector and select size property It will show you None, Full Screen, Retina 4 options . Set autoresize property for all your Buttons , labels and check xib for retina 4 and None both.It is same like you set it for Landscape and portrait .
5.Some other changed will be in code because some method has been depreciated for ios 6.0.
6. After doing all this .You can run it on iphone 5 simulator for testing.
I have an app that was using GLKMatrix3 and its supporting functions. I found that the GLKMatrix3Multiply function would always crash on iPhone 5 hardware. Easy to workaround using GLKMatrix4 instead, but the point is that I would never have found the problem without actually trying my app on iPhone 5 hardware.
I was told to file a bug for the GLKMatrix3 problem, so maybe this will be fixed. But the code runs just fine in the iOS 6 simulator.
I learned from this that, whether or not you need to rebuild your app for iPhone 5, you do need to at least run your app on a device before advertising support for that device.
Sorry, perhaps because I'm not English, I don't know, but I cannot find any resource to a couple of questions; maybe I'm using not the correct words..
I would like to know something more about the different resolutions of the iPhone 4 and 5.
First of all: how can I tell my iPhone Simulator to simulate the "letterbox" graphics if I develop an app optimized for iPhone 4 resolution??
I would like to see how it appears but I have not the iPhone 5 yet
Second: what happens on the iPhone 4 if I design an app for the iPhone 5 resolution?
I mean, what does an iPhone 4 user see??
Can you please recommend me something article or similar to learn something more about these problematics?
Thanks
EDIT
I was making right!
The only things that makes the app running in letterbox mode with IOS 6 + iPhone 5 is the presence of the Default-568h#2x.png file for the splash screen.
I restar both the iPhone5 and Xcode, clean the project and compile it again. It works.
First: There are different simulators for each iPhone type. To change between them, open the simulator. Go to the Hardware menu bar item, then change which you want under device.
Second: You should be designing interfaces that scale however you can determine if you have a larger screen and change how it looks on the iPhone 5. If you are using standard components Xcode will try and upscale everything to look proper. However you should test to make sure it looks how you want on each device.
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
How to detect iPhone 5 (widescreen devices)?
Do any adjustments need to be made for an app started in development prior to the iphone 5 in order for them to work on the iphone 5's larger screen?
If so, what are these changes, or where can I find what to change? google hasn't been too helpful so far.
Thanks
After adding the Default-568h#2x.png launch image, follow the steps outlined in this post:
How to develop or migrate apps for iPhone 5 screen resolution?
If you are having issues with the images being used INSIDE the app, and you want to support iPhone 5 and pre-iPhone 5 devices, use this:
Dealing with different size images in a xib for iPhone5 versus iPhone4?
You need to add a default launch images with 640x1136px named Default-568h#2x.png to support the iPhone 5 screen.
First, you have to have a 640x1136 launch image (with -568h#2x.png suffix) to make it compatible with the iPhone 5, but to fully make use of the larger screen, there are a many ways to do it. I find the easiest way to do it is to make two separate storyboards, making a new one for the iPhone 5, while maintaining the one you have already used for the iPhone 4S, 4, etc. Using two storyboards removes the necessity for AutoLayout; enabling AutoLayout, it is good to note, also removes iOS 5 compatibility. Use the code in this answer to get started.
Depending on how your app views are laid out, you may not need to make too many changes. If you have views that resize and are anchored correctly, such as scroll views or table views, they will expand to fill the additional space on the iPhone 5 screen. You need to add an additional launch image for the new screen size too.
the iphone 5's screen is taller so you'd need to have images with a resolution of 1136x640 also included in your images folder. (add -568h#2x at the end of image's filenames)
also, everytime you will adjust your sprites and everything else that goes on the screen, you will need to account for the iphone 5 separately, just like you account for the ipad and the iphone (non retina and retina).
The new screen on the iPhone 5 has got a different ratio, 16:9 (1136:640). How are the older apps going to be displayed?
They will be same size they are now fit in the center of the screen.
EDIT As of 2013-05-01 Apple requires all apps to support the 4-inch display on iPhone 5. All apps must include a launch image of the appropriate size. Here is the iOS Human Interface Guidelines
There will be a little unused space on both sides.
They will be displayed in a letterbox.