Obsolete for the wrong reasons

iOS 6 requires an iPhone 3Gs or newer, iPod Touch 4 or Newer (no such device exists yet), and iPad 2 or Newer. The exclusion of original iPads means if it were Mac like system requirements, it’d look like this:

  • Armv7 processor except A4 in first gen iPad (A4 in iPhone 4 and iPod Touch 4 OK)
  • 256MB of SoC RAM except first gen iPad (256MB 3Gs and iPod Touch OK)
  • Rear Facing Camera

The Camera is only only thing that singles out the iPad 1 in terms of specs other than the fact that it’s not still sold by Apple, which I believe is the real reason they didn’t give it iOS 6 support, despite the fact that it shipped AFTER the 3Gs with a slightly newer OS (3.0 for the 3Gs, 3.2 on the iPad).

Here’s an interesting fact: if Apple set the iPhone 4 as the baseline (A4 processor, 512MB RAM), the iPad 1 and 3Gs would be out of luck (fine) but so would the currently shipping iPod Touch.

I’m not saying Apple SHOULDN’T do things like require armv7 or even an A4 for iOS versions and knock off old devices, I’m just asking that they not do the whole supporting a worse device because they still sell it while cutting off a more powerful device thing they’re doing here. As such, I’m probably going to support iOS 5 a little longer than I thought because I can’t cut off support to cut off old hardware because I’ll still have to support the 3Gs. Can anyone think of a UIDeviceRequirements incantation that will get me all iPads, 4th gen iPod Touch, and iPhone 4 and newer devices?