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 resou开发者_开发问答rces, 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!
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 :(
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.
精彩评论