My app doesn't run on the slower hardware, but I want to support iOS 4.0, which iPhone 3G (and equivalent 2nd gen iPod t开发者_如何学Couch) can run. Is there a way to prevent it from being installed via the build settings? (I'd prefer not to have to enforce it in code when the app launches.)
I thought that the VALID_ARCHS build setting might do it by removing arm6 (leaving only arm7), but I was able to install directly to a 2nd gen. iPod touch.
(I found the answer as I was posting this question, but the question "Iphone 3Gs And Iphone 3" isn't very searchable, so I posted this and answered it to help others in the future.)
iPhone 1, iPhone 3G are armv6. iPhone 3Gs, iPhone 4 are armv7. (iPad is armv7.)
You should set the UIRequiredDeviceCapabilities setting in the Info.plist to the desired architecture (in this case armv7). You should also remove armv6 from the target build settings to reduce your compile time.)
Original answer found here.
edit: Apple wouldn't accept a submission with this key there. I will try this possible duplicate and then update my answer here.
edit 2: Looks like that answer worked.
FYI: I ultimately had to support the older models because my app had once been (erroneously) released. Apple's system makes you support all hardware models you have ever supported. (Which makes sense from the consumer side, which is that apps you download or buy shouldn't stop working, but stinks for me.)
精彩评论