1

I have a third party library (ZBar) which complains about the armv7 arch when I build the project (in Terminal, using xcodebuild), and I have to set the valid architecture in the build settings to armv6 (only).

The question: Will an app set to armv6 even run on post iPhone 3GS devices?

4

1 回答 1

8

是的,ARMv6 代码将在 ARMv7 设备上运行,但反之则不行。您可以通过将长时间未更新的应用程序下载到全新的 iPhone 5 上来测试这一点,它应该运行得非常好(虽然没有经过视网膜优化)。

这是因为这两个指令集向后兼容,但不向前兼容。然而,ARMv6 现在已经不是什么大问题了,因为 Xcode 4.5 的限制是无法编译 ARMv6 代码。

请注意,iPhone 3GS实际上是iOS设备列表中第一个使用ARMv7的设备,这可以看出它是最早可以运行iOS 6的设备(需要ARMv7,唯一的例外是第一代iPad),所以只要你的目标是 iOS 4.3+,你根本不需要支持 ARMv6。

看到只有 4 个 ARMv6 设备是(iPhone 2G、iPhone 3G、iPod、iPod 2G)。所有这些设备现在都应该被更换,如果没有,这不是我们的错。

于 2012-09-26T11:35:09.990 回答