由于.a不能单独使用,必须要配合.h头文件,而且没有包含资源文件,所以用.framework就是更好的选择了。
iOS 8有了新的方式创建Framework,不过创建的framework是embedded framework,不能兼容iOS 8以下的版本,所以在现阶段要兼容iOS 7和iOS 8的话,还是只能用以前的方式来创建。
创建Framework:
http://www.2cto.com/kf/201403/282723.html
工程编译的时候需要针对真机和模拟器分别编译,如果想同时在真机和模拟器上使用的话,需要将真机、模拟器编译成的多个framework合并为一个framework。
使用命令:
lipo -create .framework/xxx .framework/xxx -output xxx
就可以将多个framework合并为一个framework,其实被合并的是framework中的“.a”文件。
如果被打入framework中的文件是C++文件,即.mm文件,可能会报“___gxx_personality_sj0”错误。