美文网首页
Xcode整个项目打包成静态库

Xcode整个项目打包成静态库

作者: ZZ_军哥 | 来源:发表于2021-03-04 17:45 被阅读0次

1.项目目录含有多语言,图片等内容


image.png

将项目文件分成两类,一类是纯代码,二类为图片,多语言等文件
打framework时引入的为下面文件


image.png

2.新建framework


image.png

3.cocoapods导入项目需要的第三方库,然后将刚才的几个文件拖入到项目中,创建framework默认会带FDASDK.h和info.plist文件


image.png

4.引入PCH



5.将build Active architecture only改为NO


image.png
6.将其修改静态库
image.png

7.修改代码,将appDelegate代码进行抽取成另一个类,将AppDelegate换一个名称或者新建一个类来对其内容进行抽取封装,等下需要公开header让别人引用,别人项目本身有appDelegate,所以换一个名称,防止冲突,解决代码爆红后.
8.公开头文件,将需要公开被别人用的.h文件从project拖入到public,将所有你公开的文件按要求在FDASDK.h中引入



image.png
9.编译生成framework,在finder中显示
image.png
image.png

10.由于之前的只是代码打包成静态库,而对于文件并没有引入,就算静态库导入别人的项目会看不到图片/文字(非多语言可看到),开始创建bundle,然后你那些图片多语言文件啥的全部拖进来.


image.png
image.png

11.修改配置,将combine改为NO,删除installtion Diretory的值,修改skip install为YES

image.png

12.编译生成bundle资源包


image.png

13.然后我们回到FDASDK framework的工程目录,因为我们这个时候图片等资源的路径都变了,所以我们不能再按原来的方式引用文件和图片了,再图片和多语言路径目前都拼接一个bundle包的路径.这个时候不要将bundle包拖进来哦,要不然打framework会失败的.


image.png
image.png

14.拖入第三方framework,配置framework路径,在build setting中添加第三方framework的路径,
"${SRCROOT}/FDASDK/WhirlyGlobeSDK/WhirlyGlobe-Maply_Distribution_2_5/WhirlyGlobeMaplyComponent.framework/Headers"


image.gif image.gif

15.重新编译framework,这个时候生成的才是我们需要的framework
16.使用方式,创建一个新工程,cocoapods导入framework依赖的库,1.将bundle包,framework包,第三方framework包,全部拖入到新建项目中,添加第三方framework依赖的系统库,引入头文件,使用公开的header内的.h文件

image.gif
image.gif

17.在编译过程中可能会包应用头文件找不到的问题,或者报一些其他的小问题,网上找一找都是可以得到解决掉的

相关文章

网友评论

      本文标题:Xcode整个项目打包成静态库

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