无法为armv7s编译这里有效的架构是armv6,armv7和i386

时间:2013-09-06 22:34:04

标签: ios objective-c ipad armv7 xcode5

我尝试在新的iPad 4(A6X,armv7s指令集)上调试我的ios 6.1项目。但是,构建失败了

No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=armv6 armv7 i386).

我正在使用XCode5-DP6。应用程序在最新的iPod touch(armv7)以及iPad和iPhone模拟器(iOS 6.1和7.0)上进行调试。

据我所知,为arm7构建的代码应该在arm7上构建和运行,因为iPad3和iPad4之间的应用程序是相同的?我有什么问题吗?

1 个答案:

答案 0 :(得分:1)

我用armv6知道的最后一个产品是iPhone 3G,甚至iPhone 3GS都配备了armv7。 Apple已经以无法编译到该处理器体系结构的方式删除了对armv6的支持,即使您成功编译,也会在向Apple提交应用程序时遇到问题(不会自动接受该构建)。此外,你不能编译到4.3以下的操作系统(它也会给你错误)所以有一些限制 - 我说这是因为我认为旧设备也不能支持新的操作系统。因此,只需几天就可以使用Apple平台支持不具备操作系统的旧iPhone。

所以,我的建议是将构建和有效架构更改为armv7,armv7s& i386(如果你需要的话)。

这应该有效,你真的没有选择。您应该知道大多数用户不拥有这些旧设备。如果你仍然想要支持那些,你应该考虑添加一个特定于“新”设备的新应用程序,但是知道由于前面解释的原因你无法更新旧版本。