在ARCHS_STANDARD_32_BIT. iOS5中,苹果放弃了armv6架构
为了保持对iPhone3G的支持,我仍然希望在armv6中编译,即使在iOS5中也是如此。
有人找到解决办法了吗?
发布于 2011-09-20 18:46:17
今天,我刚刚构建了一个指定iOS 4.0部署目标的东西。由于只有armv7在体系结构中指定,Xcode警告我,要支持iOS4.2以下的任何内容,我必须在体系结构中包括armv6。只需编辑该字段,当对话框弹出并输入文字"armv6“时,单击"+”按钮。
在我的例子中,我们希望我们的应用程序能够在iOS4和iOS5下工作。我们必须进行一些修改,这样它才能在iOS5下正确工作,但所有这些更改都是通过iOS5 4友好的代码更改完成的。
我们还添加了一些特定于iOS4 5的功能,允许应用程序在iOS4下运行而不会崩溃。具体来说,我们在尝试使用iOS5功能之前对它们进行了测试,并将仅限于iOS5 5的库链接为可选库。
因此,在iPhone3G世界中支持iOS5可能意味着“我们希望我们的应用程序运行在iOS4或更高版本上(不管使用什么iOS5功能)”,而不是“我们想确保我们的应用程序运行在运行iOS5的旧设备上”。这是有区别的,想想看。:-)
无论如何,添加armv6支持是非常容易的。我想重点是:在某个时候,当没有更多的armv6设备需要担心时(不管出于什么原因),你就不用为它构建了。苹果认为,每个人都应该尽快升级到最新的硬件。因此,在这个世界上,没有必要的工具默认任何东西,除了最新和最伟大的。-)幸运的是(不管是不是),我们开发人员生活在现实世界中,并认识到你必须支持一段时间的老东西。我想Xcode开发团队也知道这一点,这就是为什么您可以简单地添加armv6支持。
发布于 2011-10-16 16:49:42
简单的答案是,您必须将当前设置从“标准(armv7) - $(ARCHS_STANDARD_32_BIT)”更改为"armv6“和"armv7”。请看下面的图片。您必须删除带有前面设置的行才能正常工作。

发布于 2011-10-16 20:28:11
还要确保你在项目和目标中设置了这个..。我花了一个小时才弄明白的。把它设为一个而不是另一个。希望这能有所帮助。GLTA
https://stackoverflow.com/questions/7488657
复制相似问题