从Xcode6开始制作framework变的非常简单,有人说iOS的framework是伪framework,实际上是静态库,这种理解是完全错误的,现在Xcode完全支持dynamic的framework,而且通过Xcode制作的framework本身也是动态的。
具体步骤这里不再纤细描述,网上一搜一大堆。
现在说说用法和注意事项:
当我们编译好framework之后,会有两个版本,一个模拟器一个真机,我们可以用脚本将两个库合成成一个,合成用的脚本我在之前的文章介绍过。
一、导入时,我们需要将我们的framework导入到embedded binary中,不然会报Image not found错误。
二、导入framework时,我们要将framework导入到工程下,不然可能会出现_OBJC_CLASS_$XXX错误。
三、如果framework中,用到了C++文件,即(.mm),那么在工程中如果某个文件引用framework,不论是否用到了含有C++的类文件,都要将引用的类改成.mm。(实践发现的,stackoverflow上搜了好久好久,自己眼拙没发现有人出过这个问题)。
四、在Objective-C++的类里,实例化对象的时候切记不可将实例的名字赋成new,因为new是C++的关键字。