美文网首页
将文件创建成framework

将文件创建成framework

作者: aaa000 | 来源:发表于2017-09-15 18:53 被阅读9次

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合成一个!

lipo -create path1 path2 -output path3
eg

Mini-WY:~ dlwx$ lipo -create /Users/dlwx/Library/Developer/Xcode/DerivedData/MyLib-hcajnpxuyurqmharmwvwiyisfcwu/Build/Products/Debug-iphonesimulator/MyLib.framework/MyLib 
/Users/dlwx/Library/Developer/Xcode/DerivedData/MyLib-hcajnpxuyurqmharmwvwiyisfcwu/Build/Products/Debug-iphoneos/MyLib.framework/MyLib 
-output /Users/dlwx/Desktop/WyTest/MyLib 

将生产的文件替换掉framework中的文件!

-ObjC:加了这个参数后,链接器就会把静态库中所有类和分类都加载到最后的可执行文件中
-all_load:会让链接器把所有找到的目标文件都加载到可执行文件中,但是在使用这个参数时假如使用了不止一个静态库文件,很有可能会遇到ld: duplicate symbol错误,因为不同的库文件里面可能会有相同的目标文件,建议在遇到-ObjC失效的情况下使用-force_load参数。
-force_load:所做的事情跟-all_load其实是一样的,但是-force_load需要指定要进行全部加载的库文件的路径,这样的话,你就只是完全加载了一个库文件,不影响其余库文件的按需加载

相关文章

网友评论

      本文标题:将文件创建成framework

      本文链接:https://www.haomeiwen.com/subject/teresxtx.html