Question

It's important that my game runs at 60 frames per second. It does on iPhone 4S and 5, but 4 is a world away from 60.

So - without going into whether it's a good idea to or not - how do I prevent iPhone 4 users from buying the game?

Was it helpful?

Solution

Using UIRequiredDeviceCapabilities, you can lock out certain devices that do not support a capability you require. This really is the only way to prevent an app running an a subset of older generation devices.

To use this, you need to list your capabilities within Info.plist. You use the UIRequiredDeviceCapabilities key, and use an array of capability keys. See the documentation on iOS Keys.

For example, to support the iPhone 4S, iPod Touch 5th Gen, and iPad 3rd Gen, you can state that you require the bluetooth-le capability, which is Bluetooth Low Energy. A compatability matrix that links capabilities with devices can be found here.

Note: This does not mean I suggest you should do this; just that you can. It's a very hacky way to do it, and I can't guarantee that Apple won't crack down on it. Ideally you should be able to fallback to lesser (yet acceptable) performance, so that a wider audience can use your application.

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