今天在制作静态库给别人使用的时候,发现制作的静态库在模拟器5及5以下可以编译通过,在5以上编译不通过,之前一直以为i386是支持兼容所有模拟器的,arm64是向下兼容的。这是错误的。arm是向下兼容的,但是i386只是5以下的,需要支持5以上的,得添加x86_64。正确做法如下
1.Build Active Architecture Only设置成YES
2.ValidArchitectures设置为:armv7|armv7s|arm64|i386|x86_64
3.Architectures设置不变(或根据你需要): armv7|arm64
4.编译合并并输出静态库
5.通过指令集lipo -info 静态库路径可以查看支持的静态库情况