Question

Considering that the family of iDevices is expanding, I guess this is a problem that more people than me have started to run into:

How do you efficiently manage resources, such as 3D models, textures, full-screen images, etc when you are writing an app that is targeting multiple iDevices?

Basically the question has two parts:

1) Is it possible to provide separate bundles to the AppStore for the same application, where a different bundle will be provided for the different devices (i.e. a separate package the user downloads for the iPad as compared to the iPhone 3GS for example) or is the only way to provide a "Game X" and "Game X HD" which seems to have become popular on the AppStore?

2) If the answer to #1 is no, then what's the best practice? Only keep the highest possible resolution of all resources, and downsample at run-time or keep ready-made for example full-screen images that match the iPad, iPhone and iPhone 4 displays?

Any input & suggestions are very welcome. My current approach is to keep 3D & texture equivalent between the devices, but keep ready-made images for anything that is supposed to exactly fill the screen - but I feel this is an extreme waste of bandwidth especially when downloading it to the iPhone 3 where all the high resolution images will never be used.

Thank you in advance!

Was it helpful?

Solution

  1. You can submit different applications for "Game" and "Game HD". Apple is picky about this though - the iPad version must "provide any additional functionality to differentiate it from your iPhone-only version. As indicated in section 2.11 of the App Review Guidelines" - or Apple will reject it - just like they did the application from whose response email I took the quote from :(

  2. In creating a universal binary, you can prefix resource files like:

ipad~picture.xib

or

iphone~picture.xib

to have only those resources used when run on the applicable platform. Thus, you can do this with "png" files and the such, and just load "picture.png" - with the proper one being automatically used.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top