How to make iPhone4 and below version app compatible for iPhone5? - iphone

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.

Related

iphone 3.5 and 4 issue

i was making an application is ios6 but i have to make it compatible for ios5 too. i made weak link to the libraries and they are working fine but one issue arises and i still not solve it. the problem is regarding iphone 5 and iphone 4 sizes. i had some questions:
in view under xib what i should pick view size iphone 3.5 or iphone 4?
if i place in buttons and other controls according to 4 size than they goes out when i run it on iphone 4 and vice versa?
should i need to make two xibs to overcome it?
or is there any other method which will resize my view and make it compatible for iphone 4 and 5?
EDIT
iam making application on ios6 and i want my application to run on both iphone 4 and 5.
thanks .
Generally you don't have to worry about this because iOS can move your controls around for you using either:
Auto sizing: If supporting iOS versions prior to 6, use the auto sizing masks (sometimes affectionately called "springs and struts", and when accessing programmatically, it's called the autoresizingMask) so that everything moves arounds appropriately. So select the "size inspector" and adjust the "autosizing" masks:
Autolayout: If you're developing an iOS 6 and above app, you can also use the new the "autolayout". See Cocoa Auto Layout Guide which has tons of relevant links. Also see the Xcode 4 Users Guide.
Turn autolayout on and off: If you want to develop an iOS 4/5 compatible app, you may need to turn off "autolayout". If so, go to Interface Builder, click somewhere on the background, select the "file inspector" in the right panel, and examine/change the "Use Autolayout" flag.
I'd suggest designing for the 3.5" screen. And let it resize or move your controls for the 4" screen.

Is it possible to test your app on iPhone 5 using the 3.5 inch form factor in Xcode?

When I am building an application for both the iPhone 3.5 inch & iPhone 4 inch, is it possible to test both form factors using the iPhone 5, instead of having to keep switching between phones?
I know that the iPhone 5 automatically puts black bars beneath and above any app that is not iPhone 5 compatible, but it would be great to be able to test apps in that way.
I doubt it's currently possible, as I haven't found any options for that in Xcode myself, but it would be awesome if Apple would add that feature. Thanks in advance for any responses.
If you remove the Default-568h#2x.png from the project (just remove it's target membership) and clean the project you app is presented in 3.5 inch mode.
There is not way the set the run parameter too force it in 3.5 inch mode. You could also just connect both iPhones to you development machine and when you want to debug the app select the device you want to test on.
I think it should be enough to not supply a Default-586h#2x.png launch image. Just have Default.png and Default#2x.png, then the app should be letterboxed on the 4" simulator.

IPhone 4 and 5 different resolutions: problems

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.

app compatibility with iphone 5 screen size [duplicate]

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).

How to make an iPhone app and exclude iPhone 5?

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.