今日有幸得到项目经理的召唤,叫我编译一个既支持arm64 armv7 armv7s也支持虚拟器的静态库。泪崩了,我以前一直都没有搞过这个。后来上网查了一些资料得到初步的聊解。首先对名词进行解析一下。
【armv7】
iPhone 4/iPhone 4S
【armv7s】
iPhone 5/iPhone 5C
【arm64】
iPhone 5S
【i386】[x86-64]
基于虚拟机的模拟器x86构架
基本了解了这些名词后就开始编写库了。。。但是,没做过从何做起呢?还是靠度娘吧。
首先我们的先要有有一个工程,才能编库呀,这个工程文件怎么建呢?
File->new->project
好了,东西拖完了,下面就是关键了。配置我们的编译参数。
点击工程名字(sa4)找到TARGETS点击butting setting,话说这个build setting也是我第一次见面。
下面对Architectures进行分析一下
Architectures:将要创建的Bundle支持的ARCH
Valid Architectures:有效的ARCH,这个配置项没什么用,一般配置成armv7,armv7s,arm64就行了
Build Active Architecture Only:是否只打当前连接设备对应的arch
在真机上,常见的ARCH有3个:armv7,armv7s,arm64
一般xcode7上的Architeures默认都只有arm64 armv7 是没有arm7s的,这时候我们就要双击他,然后添加armv7s了。
好了,这里配置好了我们com+B 一下,发现编译可以通过了,但是发现我们编译出来是红色的。怎么办呢,
这个时候我们就咬选择一下设备类型了, 然后编译,发现好了。编译出来的库不红了,可以用了。真好。
但是我们怎么知道我们编译出来的库是否支持项目经理需要的芯片呢,这时候我们就可以用终端去检测一下了。至于过程怎样,我们就细说了,有兴趣的朋友可以去找下,就几条命令。