2

If not, what happens when say an iPhone 3G user downloads an Optimized armv7 app?

Thanks!

jestro
  • 2,524
  • 4
  • 27
  • 46
  • I'm curious about what you mean when you say optimized. On what level, with what tools? If (hypothetically, I don't really know) the two versions have different numbers or sizes or names of registers, it might break compatibility to optimize on that level, but I'm sure the instruction sets are backwards compatible. –  Aug 27 '11 at 10:46
  • Optimized(armv7) and Standard (armv6 armv7) are the two options in Xcode 4. – jestro Aug 27 '11 at 10:53

2 Answers2

0

If your app is compiled for armv7 only, the app will not run on an armv6 device like an iPhone 3G.

You should compile your app as Standard (armv6 armv7). This way it will run on all devices, and it will still be optimised for armv7 devices. This means that armv7 devices will see no performance difference between Standard (armv6 armv7) and Optimized (armv7), and older armv6 devices will be able to run the app.

Greg
  • 9,068
  • 6
  • 49
  • 91
0

Apple will probably disapprove the App if you haven't flagged it accordingly (in Info.plist) to only run on 3rd generation and above devices if you only build for the ARMv7 architecture. So the question is moot, it should be:

How to disallow downloads of my ARMv7 app on ARMv6 devices to get my app approved?

They way to do that I believe is to specify that your app requires OpenGL ES 2.0.

This image shows you the UIRequiredDeviceCapabilities setting at the bottom (opengles-2): enter image description here

The image is courtesy of this blogpost.

CodeSmile
  • 64,284
  • 20
  • 132
  • 217