ios 制作framework静态库

ios 制作framework静态库

IOS小彩虹2021-08-24 1:49:0180A+A-

新接手的项目要重构,计划往组件化方向搞。提及组件化可能就会涉及到静态库的封装,之前研究过静态库的封装但是那时候没有写博客的习惯,所以也就没记录。自己用起来也不太方便,现在计划从封装静态库这里总结!

静态库的制作

这里推荐大家移步去看这篇文章,感觉作者写的非常好,相对也比较详细与全面。静态库制作这里自己只是做一个对操作过程中简化和采坑的总结。(这里我采用的是苹果官方推荐的.framework静态库)

    1. 新建一个SDK项目工程。

Snip20210506_2.png

    1. 系统默认会创建该文件,作用相当于项目中统一管理头文件的那个文件。

Snip20210506_3.png

    1. YTKTestManager是自己新创建的一个类,然后头文件在YTKTestSDK.h这个文件中引用了一下。

Snip20210506_4.png

    1. 在xcode 上边找到Build Phase 进行如下配置,其实就是把需要公开的文件放到Public下边,把需要隐藏的放入到Private下边,这里YTKTestManager.h头文件需要直接从项目中拖动Public下边,不然点击底部的+没有它。

Snip20210506_6.png

    1. 继续进行如下配置

Snip20210506_7.png

    1. 继续进行如下配置

Snip20210506_8.png

arm64 等CPU架构说明看这里CPU架构说明

    1. 继续进行如下配置

Snip20210506_10.png

    1. 真机编译生成SDK

Snip20210506_13.png

    1. 模拟器Snip20210506_14.png

编译生成SDK

  • 10.查看编译好之后的framework

20210506165146.jpg

Snip20210506_15.png

  • 11.合并真机与模拟器编译后的framework文件通过lipo -create 命令合并:

路径说明 lipo -create + 模拟器编译后的framework中的YTKTestSDK + 真机编译后的framework中的YTKTestSDK + -output + 合并之后要保存的路径

Snip20210506_18.png

注意:合并模拟器编译后的静态库与真机编译后的静态库报错,have the same architectures (arm64) and can't be in the same fat output file 解决方法可以查看这里自己解决方法进行如下配置。

Snip20210506_1.png

  • 12.合并后倒出的文件如下:

Snip20210506_19.png

  • 13.去掉后缀lipo然后拖入真机编译后的如下图文件夹中对该文件进行替换。

Snip20210506_20.png

  • 14.最后把如下图整个拷贝到桌面,至此制作完毕一个适用于真机与模拟器的framework静态库制作完毕。

Snip20210506_21.png

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1
本网站由 提供CDN/云存储服务

联系我们