当将应用程序限制为iOS 4.0+时,我需要添加armv6支持吗?

66

目前我正在为armv6和armv7编译。我还将目标iOS版本设置为4.0。

我可以这样说,所有能够运行iOS 4.0+的设备都是armv7,因此我可以停止为armv6编译吗?

虽然不是很重要,但如果可以的话,这意味着我的应用程序二进制文件会小得多。


5
自 Xcode 4.5 开始,你不能编译为 armv6。 - Paul de Lange
2个回答

158

抱歉,但是你不正确。iPhone 3G和iPod Touch 2G能够运行iOS 4(勉强),并且它们包含ARMv6处理器。

ARMv8 / ARM64 = iPhone 5s、iPad Air、Retina iPad Mini
ARMv7s = iPhone 5、iPhone 5c、iPad 4
ARMv7  = iPhone 3GS、iPhone 4、iPhone 4S、iPod 3G/4G/5G、iPad、iPad 2、iPad 3、iPad Mini  
ARMv6  = iPhone、iPhone 3G、iPod 1G/2G

iOS 4.3以上版本需要ARMv7。如果你的“Deployment Target”为4.3,那么你可以排除对ARMv6的支持。

从XCode 4.5开始,你不能构建支持ARMv6的应用程序了@Paul de Lange。


1
Henrik,有没有关于这个的苹果文档? - thndrkiss
1
你所说的 iPhone 2G,我理解为原始版的 iPhone,是这样吗? - Josh Brown
3
将ARMv7s = iPhone 5加入混合中。 - raidfive
2
现在iPad 4也支持ARMv7s(但不支持iPad Mini,因为它与iPad 2具有相同的CPU)。维基百科有一张很棒的表格,显示了每个iOS设备支持的ARM版本:http://en.wikipedia.org/wiki/List_of_iOS_devices#Features(向下滚动一半或搜索armv7)。 - DOOManiac
3
你可以添加 ARM64 = iPhone 5s。 - Tomas Andrle
显示剩余6条评论

23

如果你将部署目标设置为4.3,就可以安全地删除对armv6的支持。 这是因为 iOS 4 只能在 armv6 设备上安装到 4.2 版本。


1
谢谢,知道了!但在这种情况下,我认为那会太过于限制了。据说95%的iOS设备都运行着iOS 4.0+(不要引用我!),这并不算太糟糕。但是,如果不支持iPhone 3G,则将排除更多潜在用户。 - Jordan Smith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接