iphone how to convert my app to retina display app - iphone

How can I convert my current application to retina display app and I've to make sure that the same app works in iphone 3 as well.
If its just to update my images to high resolution, it will also work in iphone 3. then there will be no meaning for "retina display" app.

Retina Display version will use a higher resolution of an image (if it's supplied in the app). Refer to the Apple doc for details.

Related

Do I still need low-resolution images for using Interface Builder when developing iPhone app for iOS 7?

I started to develop an iPhone app for iOS 7.
Since iOS 7 does not support devices with non-retina display for the iPhone/iPod touch, and it uses high-resolution images on non-retina iPads (iPad 2 and iPad mini) in the iPhone emulation mode, now I think we don't need to provide low-resolution images when developing an iPhone-only app which deployment target is iOS 7.
I thought it's great, but soon I faced a problem when I used a Storyboard; apparently Interface Builder can not display high-resolution images which file names end with #2x.
I feel it's really pity that we have to provide the low-resolution images ONLY for the Interface Builder...
Is there any good workaround for this? Or do we still have to provide low-resolution images if we want to use the Interface Builder?
You are correct that an iOS 7 iPhone-only app is not going to run on any single-resolution devices, so you only need to provide double-resolution images. Do what you have always done in the past: refer to your image as myImage but name the actual image file myImage#2x.png. Even better, use the asset catalog! Place the double-resolution image in the 2x slot and refer to it by the name of that image set. Either way, this will work perfectly both in the storyboard editor and in the running app; in the storyboard editor, the Media Library and things like buttons that have images will display your image's name as myImage.

iOS Images for iPhone and iPad and Rotation of Images

I read on the apple website that when you choose images to display say for a background image it has to be of certain quality. See this link.
I am developing an app for iOS 5 with XCode 4.3.2.
How do I know if my device is a high-resolution one?
For setting a background image, when you do rotations of a device say left or right, do you need to include a much wider version of that image? I am doing a header and setting it as my background with a name "My Apple App" in the background. Do I need to make a wider version so it can stretch?

Non retina iPad app working fine on retina display iPad

I have a iPad app which is NOT modified for the new iPad with retina display. But, to my surprise(pleasant) the app is working great without any issues in the retina display iPad. The graphics are just the same. I dont even see any pixelation issues. Can some one explain me the reason behind this? Did apple do something from their end in order to get the non retina apps to work the same way in retina display iPad?
Text and framework images are in high resolution, without the explicit need of the application to do anything.
What does look different are the images you provide with your app, so if your app has a custom UI that is not retina ready, it will look bad.
The same applies to the retina iPhone. Text is displayed in a double density font, and any embedded images are also displayed x2. In most cases the only change that you make for retina displays is to add double density images, but that is optional.
Edit: This also works with iPhone apps running on the iPad, with one massive gotcha. If an iPhone only app runs on the iPad, it is displayed double density, in portrait mode. But the only way that a developer can actually get his app onto an iPad is to mark it as universal, which means that it loses this support.

Will my iphone 3gs app work ok on iphone 4?

So I'm currently making an app that supports both iphone 3gs and ipad (this is a universal binary app).
What I'm wondering is how will iphone 4 users view my app, will they see it pixelated? will they not see it full screen since my iphone 3gs is on a smaller resolution?
I don't have an iphone 4 yet but I'd rather just release this app as is - just for 3gs and ipad. Is there anything that I must know / any precautions etc? Oh (i just thought of this) is there an iphone 4.0 simulator so i can check out if my app works okay?
Thanks!
Basically any bitmap graphics (PNG files) will look a little blurry on the iPhone 4's Retina display.
The easiest way to fix this is to make double scaled versions (100x100 becomes 200x200) of all your PNG files and add them to your project suffixed with "#2x.png". In other words, MyBitmap.png will become MyBitmap#2x.png. Luckily your code doesn't have to change. On the iPhone 4 the OS will automatically choose a #2x.png instead of the regular one when you do:
UIImage *myBitmap = [UIImage imageNamed:#”MyBitmap.png”];
Xib files will also use the #2x.png if there is one available.
Other than that there's also launch images and Application Icons to worry about. This blog has a good summary.
Yes you can change your device type, by in the simulator pressing: Hardware->Device->iPhone 4 If you don't have it you might want download the latest devevloper tools.
Also you might have to press Window->Scale->100%

How can I determine programmatically that my app is running on an iPhone, iPad or iPhone 4?

I just finish my iPhone game using cocos2d. But before I put it on the AppStore, I'd like to make it work on iPad (which have a bigger screen) and iPhone 4 (which have a bigger resolution).
So, how can I determine programmatically that my app is running on an iPhone, iPad or iPhone 4, to be able to use the correct coordinates / images in my game?
Thanks for your help!
Between iPad and iPhone — Already answered many times.
Between iPhone and iPhone 4 — The size reported is still 320×480, so you don't need to change anything about the coordinates. Create an #2x alternative for the images if you need a high resolution UI image.