14

We are building an app that requires the RAM, GPU, and cores of an iPad 2 or iPhone 4S. Is there any way to configure the app so that it is not available in the app store to users of lesser hardware?

I know that I can build armv7 only, and that eliminates the really old stuff. It looks like I could require a still camera (even though we don't use it), to eliminate the iPad 1 (although that feels like a hack). But that doesn't keep it off iPhone 4 or Touch 4.

Any suggestions?

Joshua Smith
  • 3,689
  • 4
  • 32
  • 45
  • 1
    Note that it is possible that Apple may be making this requirement difficult or impossible on purpose. (e.g. it's their App store and they currently don't want to distribute apps that have a requirement for some given amount of memory, or that only run on the latest max number of GPU cores, etc.). – hotpaw2 Oct 27 '11 at 17:27

2 Answers2

23

Unfortunately, there is no UIRequiredDeviceCapabilities string that only filters for devices with the A5 processor.

The closest you get, looking at the "Device Compatibility Matrix" in the new iTunes Connect Developer Guide, is the new bluetooth-le key that filters for just the iPhone 4S based on its support for Bluetooth 4.0 Low Power communication. The iPad 2 doesn't have this hardware (although it's safe to bet the next generation will), so it doesn't satisfy this required capability.

I'm a little surprised by this, because there are new OpenGL ES extensions which are only available on the iPad 2 and iPhone 4S, and I could see building applications that require those capabilities. I'm not sure how you'd specify that, so I filed an enhancement request (rdar://10356232) for a key like this.

Brad Larson
  • 170,088
  • 45
  • 397
  • 571
  • 1
    Yeah, that's what I figured. As we've done more testing, I'm actually starting to think that the iPod Touch 4 / iPhone 4 might be achievable. I'm not sure why, but the iPad 1 graphics performance completely sucks compared to the iPod Touch 4, which allegedly has the same CPU/GPU running at a slightly *lower* clock. (I can't find any side-by-side benchmarks to confirm if this is true in general, or if there is something in our app that iPad's have trouble doing.) So it may turn out that requiring a still camera or gyroscope might work for us after all. – Joshua Smith Oct 28 '11 at 13:31
  • 1
    @jesmith - Graphics performance depends on what you're trying to do. For pure geometry handling, the iPad 1 might come out ahead of the iPhone 4 / 4th Gen iPod touch. However, if you're fill-rate limited (like with a powerful fragment shader), remember that the iPad 1 has to push 28% more pixels than the Retina displays (1024x768 vs. 960x640), so that's where you might run into slowdown. You might be able to reduce fragment shader complexity for the iPad 1 by detecting the new A5 OpenGL ES capabilities at runtime and loading different shaders. – Brad Larson Oct 28 '11 at 14:35
-4

This is now possible with the release of iOS 6. By requiring iOS 6, you can effectively require that only iPhone 4+ and iPad 2+ are supported.

Chris Garrett
  • 4,824
  • 1
  • 34
  • 49