Can we just provide @2x images?

+1 for an interesting question.

But: if you're considering this to reduce the size of your app that means that you have a lot of images in your app. In that case: don't do it since you're gonna put a lot of extra load on older devices (tested).

For apps with less graphics it would be ok but there it makes no sense.

So it's actually a bad idea from any point of view.

And since you're already considering to create all @2x images: you can simply use Unretiner to convert all those images to 'normal' size and you're good to go.


I don't think all Apple will reject your app. But it's not a good idea.

Since the non retina devices have less memory to work with, loading all these big images in memory could really make you app a memory hog. This could make your app crash on lowmemory warnings.

You can easily resize the @2x images to half there size with a simple automator script. There is no need to do it by hand if you really wan't to.


Apple says you have to provide both. On guessing under what circumstance it is acceptable or not we can spent days — at the end it is like reading the cards, and some random Apple guy will decide on how he interpreted the guidelines.

If the task of shrinking the images manually is too boring for you, why don't you create a tool/script to do it automatically for you.

Your statement, that there is no increase of usage can't be true. The image data is stored in memory as raw data. with up to four bytes per pixel. Retina version images must use about 4 time more memory.


If application footprint is a major issue for you, then this route is one that you can take, it will cost both CPU and memory space increases (memory being about 4x as much) on older devices. However, if you load your own UIImages (subclassing UIImage) so that it loads on older devices to scale the raw image before returning the end result, then only CPU will take a hit.