1.通过Xcode创建一个Cocoa Touch Framework 工程!
2A3596BE-D289-4DA3-8828-7FB45763DD28.png
2.修改项目中编译设置项
1.TARGETS->General Display Name 设置名字
2.TARGETS->Version 设置版本号
3.TARGETS->Deployment Target 设置支持最低的iOS版本
4.TARGETS->Build Setting->Dead Code Stripping 设置为NO
5.TARGETS->Build Setting->Link With Standard Libraries 设置为NO
6.TARGETS->Build Setting->Mach-O Type 设置为 Static Library
7.TARGETS->Build Setting->Architectures 中添加 armv7s
306FC6A9-B447-4155-B4B5-DF4E58A1E515.png
030C501C-95FD-4F76-A7FF-FD17A05571C6.png
3.在工程中添加文件
1BC01C5A-09B8-40A6-B99F-274460BA9AEB.png
4 设置提供外部调用的头文件
(直接将想公开的头文件 从project 拖到 pubic)
D0D2896F-53F2-4AE6-B209-F4E77D298B09.png
5.填写需要公开的文件
5F90E258-DCF1-47C7-83D1-05D96C47B315.png
6.使用模拟器和手机分别连接运行一次 然后将生产的两个版本的framework合成一个!
https://www.jianshu.com/p/583ca50ee5b3!
-ObjC:加了这个参数后,链接器就会把静态库中所有类和分类都加载到最后的可执行文件中
-all_load:会让链接器把所有找到的目标文件都加载到可执行文件中,但是在使用这个参数时假如使用了不止一个静态库文件,很有可能会遇到ld: duplicate symbol错误,因为不同的库文件里面可能会有相同的目标文件,建议在遇到-ObjC失效的情况下使用-force_load参数。
-force_load:所做的事情跟-all_load其实是一样的,但是-force_load需要指定要进行全部加载的库文件的路径,这样的话,你就只是完全加载了一个库文件,不影响其余库文件的按需加载