With an ARMv6 only build to I need to include UIRequiredDeviceCapabilities: armv6?
Question
I am building ARMv6 only (to keep the app size down), and it all runs fine on all iPhones/iPads.
My question is, when I submit it to AppStore, do I need or not need to update UIRequiredDeviceCapabilities to say it is an Armv6 build?
The docs here: http://developer.apple.com/library/ios/#documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html
say: armv6: Include this key if your application is compiled only for the armv6 instruction set. (iOS v3.1 and later.)
BUT, does this mean if I include this key it will only work on ARMv6 platforms (eg: iPhone 3G) or does it just mean only ARMv6 code is in this app, but all phones compatible with that will still work?
Any help appreciated, I don't want to wait for the usual rejection.
Thanks,
Peter
Solution
If you include the armv6
key, your application will still work on armv7
devices like the iPad
and iPhone 4
. As far as I know, the original iPhone is armv6
as well, so there's no hardware restriction imposed by adding that key at all. It just means that any version of iOS
which doesn't support the armv6
instruction set will not be able to download your app (pre-iOS 3.1
, as they mentioned).
OTHER TIPS
In xCode 4.2 it is possible to switch the Architecture to support armv6 manually, Standard is armv7. Just select it under Architecture, select other, delete existing one and add manually armv6 and armv7.
When I removed the complete "UIRequiredDevicesCapabilities" out of the source code view of my .plist file and switched back to the summary view of my project, xcode crashed and the whole project became unusable. After doing the same using the "Property List" view did not cause the same problem.