您的位置:首页 > 产品设计 > UI/UE

Architectures、Valid Architectures和Build Active Architecture Only

2016-12-09 15:02 465 查看
报错:





Architectures、Valid Architectures和Build Active Architecture Only分别指:
iOS的App现在基本都是用llvm在编译,Xcode也提供了各种设置帮助你进行编译参数的设定。里面有一项就是设定编译的体系结构,涉及到的参数包括:Architectures、Valid
Architectures和Build Active Architecture Only。
      有些新手对这几个参数往往不知道怎么选择,这里简单介绍一下。
      Architectures:这是指你想支持的指令集,比如:armv7,armv7s,或者可以用$(ARCHS_STANDARD_32_BIT)这样的参数
      Valid Architectures:这是指你即将编译的指令集
      Build Active Architecture Only:是否只编译当前设备适用的指令集(如果这个参数设为YES,那么如果你用iPhone 6调试,最终生成的一个支持arm64指令集的Binary;如果你用iPhone4编译,最终生成一个支持armv7指令集的Binary,所以一般在DEBUG模式下设为YES,RELEASE设为NO)

      这里,我们编译最终支持的指令集是Architectures和Valid Architectures两个参数的交集。
      另外,列一下目前常见iOS设备的指令集:
ARMv8/ARM64: iPhone 6(Plus), iPhone 5s, iPad Air(2), Retina iPad Mini(2,3)

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 
解决方法: 
1.将Valid Architectures里的arm64去掉

2.将Build Active Architecture Only设置为no
3.将不支持arm64的, 编译, 使它支持arm64
简书博客地址
https://www.jianshu.com/u/3c7c13f3dc6b
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息