If you’re making a mobile game using UDK (like me), then chances are you’re targeting the higher-resolution Retina (960 x 640) and iPad (1024 x 768) displays (also like me). Let’s face it: it’s absolutely horrible to have to scale down to the older 480 x 320 screens, and many cool features are lacking for older devices. For one thing, mobile fog is disabled by default for the original iPad and I couldn’t for the life of me figure out how to turn it on. MSAA is also pretty suckish on the older iDoodads.
For my game, I wanted to get rid of the older stuff altogether; that is, I wanted to make my game available only for the iPhone 4/4S, iPad 2, and 4th Generation iPod Touch. The question then is…how? When you submit the app to the App Store, you won’t get to select which devices you want to support. And if you try to add a little disclaimer in the app’s description (something like “Only for the iPad 2”), you’ll find your app rejected.
What you actually have to do is go to \UDKGame\Build\iPhone and open up UDKGameOverrides.plist using any text editor. Then add the following:
<key>UIRequiredDeviceCapabilities</key> <array> <string>front-facing-camera</string> </array>
Since the front-facing camera is only present in newer iDevices, when an older device tries to download your app it will fail. But that’s not all you have to do, because the App Store screeners over at Apple are pretty mean. If they find out that you’re requiring a front-facing camera but your app doesn’t actually use one, you will be rejected. So you also have to add something to this effect in your submission’s metadata:
I have included “front-facing camera” as a required capability in the .plist file. Although my app does not use the camera, it only runs on devices that have a front-facing camera. My app cannot be universal, because older devices either do not support features of the Unreal Engine that my app needs (such as MSAA and height fog) or have too low of a resolution display. If there is another preferred method of targeting the newer devices, please let me know.
Explain yourself well enough and they’ll let you slide. And now you’re app is ready to be enjoyed ONLY on the devices you want it to be 🙂