在今天尝试制作framework,但是遇到了一些坑.弄完整理一下,有需要的小伙伴可以进行参考;废话不多说开始...
第一步:新建工程选择iOS —> Cocoa Touch Framework
第二步:导入平常公用的模块和文件(解释:这里我自定义了一个文件,用来实现自己要到达到的效果,导入的文件为MSDSetView,由于文件名重复,造成冲突,需要将创建的工程中的文件删除)
第三步:TARGETS —> Build Settings 中设置相关项
1.Build Active Architecture Only 设置为NO 目的是让当前打包的.framework支持所有的设备
2. 设置Dead Code Stripping 为NO;
Mach-O Type 选中StaticLibrary (静态库) Xcode默认是动态库.
3.在Architectures下增加armv7s
4. 设置framework支持的最低版本(8.0版本)
三.将你要公开的头文件拖至Public下,要隐藏的放在Private或者Project下(我是将需要的文件暴露出来了,要不然最后在应用的文件中导入头文件的时候,报错:找不到对应的文件)。
第四步:在进行编译之前应该设置为release模式
第五步:分别在模拟器和真机上运行一次(记住都要分别运行一次,为后期合并做准备);
第六步:在finder中找到framework文件(文件解释见图)
第七步:真机版本和模拟器版本framework合并
命令行语句:sudo lipo -create (此处请填写真机MSDSetView文件路径) (此处填写模拟器MSDSetView文件路径) -output 自定义合成文件存储路径(合成文件的名字MSDSetView)
(找到此文件直接拖拽大命令行工具,获取路径);
第八步:将上面绿色箭头指向的.framework文件导入你需要的工程中即可使用;在需要的文件中引入头文件,即可调用暴露在.h文件中的方法);
注意:这是按照自己的想法和实现过程写的
网友评论