我已经有一段时间不得不调整项目构建设置了。 升级到最近的SDK后,我无法构建我的ad hoc分发配置。
Build生成此警告和错误:
警告:iPhone应用程序应包含armv6架构(当前ARCHS =“armv7”)
iPhone / iPod Touch:应用程序可执行文件缺少必需的体系结构。 必须至少存在以下架构之一:armv6(-19033)
但是在我的项目中我认为我的设置正确:
- 架构是:标准(armv6 armv7)
- 基础SDK:最新的iOS(目前设置为iOS 4.2)
- 有效的架构:armv6 armv7
我清理了所有目标。
我很感激任何提示。
#1楼
对我来说也是一个痛苦的问题。 花了大约一个小时试图建立和重建 - 没有快乐。 最后我不得不这样做:
- 将基础SDK升级到最新版本(在我的iOS 5中)
- 重启xCode
- 清洁和建造
- 有效!
我猜这是关于arm6,arm7的一堆行话,因为看起来我的项目对两者都有效,至少设置似乎这么说),我的猜测是这是一种玩世不恭的方式来解决我们的技术问题,我们不知道我们理解,所以我们只选择简单的选项并定位最新的iOS(适合Apple,让更多人更新)....
#2楼
哇,我每6个月更新/提交一次应用程序。 每次我这样做,我都要学习“新”的方式来做到这一点......
运行iOS 5.1和Xcode 4.3.2时,与上述问题相同
谢谢你的帖子! 我花了一段时间将所有项目设置更新到armv6,armv7,但没有快乐。 当我将“仅构建活动体系结构”设置为“否”时,我将有关将两个对象放在同一目录中的构建错误。
幸运的是,我注意到你们正在修改目标构建设置。 这是最终工作的(armv6,armv7,并在Target build Settings下将“仅构建活动体系结构”设置为No)。 作为免责声明,我已经在项目设置中将所有架构设置为armv6,armv7。
无论如何,感谢布伦特的帮助
#3楼
这是Apple的文档:
它说有两件事你必须得到正确的:
- 将
armv6
添加到Architecture构建设置 - 仅将Build Active Architecture设置为
No
如果这仍然没有帮助你,请仔细检查你是否真的改变了正确的构建配置的体系结构构建设置 - 我浪费了半个小时摆弄错误的一个并想知道它为什么不起作用...
选择Edit Scheme...
在Product菜单中,单击左侧列表中的“Archive”方案并检查Build Configuration。 如果它不是您所期望的,请更改该值。
#4楼
我必须确保在执行此操作后在xCode 4.3.2上的目标和项目设置中更改这些设置,并将其设置为在我能够提交应用程序的任何地方构建armv6和armv7。
为了安全起见,我还在进行更改和执行清理,构建,归档周期之间退出了xCode。
#5楼
尝试将部署目标更改为高于armv6处理器的目标。 xCode的设置引用操作系统级别,例如:iOS版本#{3.1,3.2,4.0,4.1,4.2,4.3,5.0,5.1}
(i)您可以在构建设置选项卡或摘要选项卡中进行设置。 从Project Navigator中窗口的左上角开始,其中列出了所有文件。 单击最顶部的蓝色图标。
(ii)如果您计划使用可通过openGL ES 2.0 API访问和控制的可编程着色器线路电路,那么您应该将“部署版本”设置为大约4.3,我认为这仅适用于诸如3GS或更新。 xCode报告需要运行armv7代码iOS 4.2.5或更高版本。 我相信,这款处理器再一次从3GS开始。* iOS 4.3似乎是我的选择。
http://theiphonewiki.com/wiki/index.php?title=Armv7
http://en.wikipedia.org/wiki/List_of_iOS_devices
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3190187