1、创建一个framework工程,如图
![](https://img.haomeiwen.com/i3090071/d5eb82b1280bdcc4.png)
1.1、修改framework中的参数,如下图
![](https://img.haomeiwen.com/i3090071/a4c9fb3d9e5641d2.png)
![](https://img.haomeiwen.com/i3090071/6bd7055ec10602aa.png)
1.2、新建一个继承自NSString的类StringSubClass和一个NSString的分类StringCategoryClass,如图
![](https://img.haomeiwen.com/i3090071/62ce220c1f79876a.png)
![](https://img.haomeiwen.com/i3090071/53c4f5e116b12201.png)
1.1.3 ,将Build Phases中的Headers 下面的Project中的我们新建的两个类拖到Public中,以便于其他项目能够使用它们
![](https://img.haomeiwen.com/i3090071/3fdf2f731d8378b4.png)
2 、在fulenqiLib中导入新建的类,这里可能没有联想
![](https://img.haomeiwen.com/i3090071/2ad94ab2c7f51bcf.png)
3、 分别用模拟器和真机编译一下项目,然后如图,查看framework
![](https://img.haomeiwen.com/i3090071/3e90d2abc9c29612.png)
![](https://img.haomeiwen.com/i3090071/b0a5384274421e39.png)
3.1、如上图所示,Debug-iphoneos 为真机framework,Debug-iphonesimulator为模拟器framework,可以通过终端查看两个framework中的信息
lipo -info /Users/qi/Library/Developer/Xcode/DerivedData/fulenqiLib-fdlsflivyekopqatwebuzykofkhf/Build/Products/Debug-iphoneos/fulenqiLib.framework/fulenqiLib
// lipo -info (framework路径) 注意:fulenqiLib.framework/fulenqiLib 为framework下一级的文件
输出信息如图
![](https://img.haomeiwen.com/i3090071/c3727e6b524995ff.png)
3.2、合并真机和模拟器framework,使用终端命令lipo -create
lipo -create /Users/qi/Library/Developer/Xcode/DerivedData/fulenqiLib-fdlsflivyekopqatwebuzykofkhf/Build/Products/Debug-iphoneos/fulenqiLib.framework/fulenqiLib /Users/qi/Library/Developer/Xcode/DerivedData/fulenqiLib-fdlsflivyekopqatwebuzykofkhf/Build/Products/Debug-iphonesimulator/fulenqiLib.framework/fulenqiLib -output /Users/qi/Desktop/framework
3.3、将生成的合并后的framework放到真机framework路径下,并替换掉真机framework,然后就可以使用了,可以直接将这个framework拖入到其他工程中使用,新建一个工程,将制作成功的framework拖入其中之后,在build setting中设置路径
![](https://img.haomeiwen.com/i3090071/2bbbba22ff5fadb2.png)
在build phases中设置other link,目的是为了是项目可以引入framework中的分类,添加
-ObjC
![](https://img.haomeiwen.com/i3090071/8297065cd04c155c.png)
3.4、在项目中调用
![](https://img.haomeiwen.com/i3090071/836e64e2405c6fb3.png)
至此本地framework制作就成功了,如果有人想用framework,可以直接复制过去使用,下面介绍一下将framework上传github,使用cocoapod管理导入
网友评论