What resolutions should iOS graphics be? - iphone

What pixels per inch settings do iOS 4 graphics need to be to support the high resolution display? Should I just use the standard 72, or should I specifically make images that are 320x480#163ppi and 640x960#326ppi? Or, should I just make images those dimensions and not worry about the resolution (i.e. leave it at the default 72)?
I'm not concerned about the iPad, only iPhone 3/GS, iPhone 4 and iPod Touch users.
Note
I realize this isn't about code, per se, but it is related to programming in so much as this is necessary for me to finish my iOS application ;)

Icon and image sizes are documented at https://developer.apple.com/ios/human-interface-guidelines/graphics/custom-icons/

326 ppi as that is the resolution of the retina display. They will resize/resample automatically on lower resolution displays.
Here is some more guidance:
http://mobile.tutsplus.com/tutorials/iphone/preparing-your-iphone-app-for-higher-resolutions/

Related

Suffix for Retina Images in iPhone 5

I have some image files for iPhone 5 size 640x1136, i have previously implemented retina images for iPhone 4 & 4S using #2x suffix, so what will be the suffix for images in iPhone 5, we can user the same as is #2x or it has to be changed.
It’ll still use #2x images where they’re available. There’s a -568h suffix you can use for the launch image, as in Default-568h#2x.png, but that’s currently the only place it’s supported; see Leo’s answer for a way to get that working elsewhere.
See my answer here. Some useful macros to help you with dealing with images.
For the iPhone Retina 4-inch (iPhone 5) it's still the #2x suffix because the density is the same as the iPhone Retina (iPhone 4 and 4S). The screen is bigger but have the same density.
The -568h suffix will work only in for the default image because it's the only place you really need it (just to tell the system that your app have been optimized for this new screen size, and it can stretch your views).
The naming convention Default-xxx.png is just here to provide the right image while the app is launching but I think it's non sense to try to replicate the same to load other images in imageViews. It's like the Default-(landscape|portrait).png on iPad. You never need this convention to load images yourself.
The only rule is:
# is for density (2 density exist right now, normal and 2x)
~ is for device (2 different devices exist right now, iphone and ipad)
To adapt images/imageView on the 4-inch iPhone you should play with your imageView content mode and the autoresizing configurations.

if I changed app graphics for iphone 5 , is it going to work for iphone 4, 3GS properly

if I changed app graphics for iphone 5 , is it going to work for iphone 4, 3GS properly or the users have to resize the app like when you download iphone app in iPad ?
If you mean you are using both normal sized images and 2x images for retina display, you won't have a problem on older devices.
They'll just pickup the regular sized images while the ones with retina display will load the #2x ones.
What you do have to take into account is that if you don't include regular sized images (if you only use #2x images), older devices won't load them.
#2X will still work. However I did download xcode 4.5 with iOS 6 Gold Master seeds and played with it last night. The splash screen will include the new slightly higher resolution image 11??x640 as well as the 960x640 and 480x360.
For fullscreen images, you will have to supply at least two versions, better three.
One being 640 × 1136, one being 640 x 960 and one being 320 x 480.
For the 3.5" retina version, you may use the automatic selection (aka #2x). For the former 4" retina version it appears as if you will have to include your own code to select the right one.

Ipod application compatibility

Is any iphone application can run into ipod with proper screen resolution?
I am little bit confuse among designing that if i make an application for iPhone and iPod so should i need to design different screen for both.
The iPod and iPhone currently have the same size screen. As other commenters noted, there are differing models between retina and non-retina which have different resolution, so you will have provide #2x and normal size graphics for them.
However, the iPad has vastly different screen size and resolution. If you only write for the iPhone/iPod, you can run on the iPad too but it will only use a small portion of the screen.
No, it is basically the same. However, you need to take care of the device capabilities, e.g. the iPod has no phone functionality (if you intend to make use of it).
At the moment the iPod touch and the iPhone have the same screen size. They may have different resolutions, but the screen size is the same and apart from providing image assets at different sizes there should be no issues.

Application Launch High Res Image

In the apple docs it states
The portion is the
optional string #2x and should be
included only on images intended for
use on high-resolution screens
What are high-resolution screens? iPhone 4's? Do I need to include one?
I guess you missed the part where the iPhone 4 and it's double high resolution screen was introduced :-)
The iPhone 4 screen is 640 by 960.
To automatically take advantage of that you can provide graphics assets that have that #2x in the name.
When you use something like UIImage#imageNamed:, the OS will automatically use the high resolution image if appropriate.
It will also use those for the icons and launch screens if available.
They are all optional though. But I'm sure your users with an iPhone 4 will appreciate the high res artwork :-)

High Resolution iPhone Background

According to Apple's website, the iPhone 4 is 960-by-640-pixel resolution at 326 ppi. I made an image with these specs, however when I put it onto my iPhone as a background for one of my applications, it is way too big and you can only see the upper left corner of the image. How do I make it fit and how do I make a high resolution iPhone 4 background?
You need to give it the name "someImage#2x.png" with the important part being #2x so they can apply the scale correctly.
Realize though that you also need "someImage.png" which is half that size for devices without the retina display.
I always use the "someImage.png" file as the initial image and then the OS will automagically switch to the #2x image during runtime so don't worry about that. Just set it to the standard 320x480 or 480x320 and let the OS do the rest.
Are you using an UIImageView? You should have two versions of your images
image.png - normal 320x480 image for older phones
image#2x.png - for iphone4 with the 640x960 resolution
When you set the file location (be it programically or in Interface Builder) just tell it about the 'image.png'. The iPhone4 will automatically look for the '#2x' version.