1、创建一个framework工程,如图

创建framework.png
1.1、修改framework中的参数,如下图

修改framework中的参数1.png

修改framework中的参数2.png
1.2、新建一个继承自NSString的类StringSubClass和一个NSString的分类StringCategoryClass,如图

StringSubClass.png

StringCategoryClass.png
1.1.3 ,将Build Phases中的Headers 下面的Project中的我们新建的两个类拖到Public中,以便于其他项目能够使用它们

将新建的类公开.png
2 、在fulenqiLib中导入新建的类,这里可能没有联想

导入新建的类
3、 分别用模拟器和真机编译一下项目,然后如图,查看framework

查看framework.png

Snip20180930_12.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下一级的文件
输出信息如图

Snip20180930_14.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中设置路径

framework路径
在build phases中设置other link,目的是为了是项目可以引入framework中的分类,添加
-ObjC
Snip20181008_1.png
3.4、在项目中调用

调用framework
至此本地framework制作就成功了,如果有人想用framework,可以直接复制过去使用,下面介绍一下将framework上传github,使用cocoapod管理导入