美文网首页
ios 制作framework静态库

ios 制作framework静态库

作者: 90后的晨仔 | 来源:发表于2021-05-06 17:14 被阅读0次

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

静态库的制作

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

  • 1. 新建一个SDK项目工程。
Snip20210506_2.png
  • 2. 系统默认会创建该文件,作用相当于项目中统一管理头文件的那个文件。
Snip20210506_3.png
  • 3. YTKTestManager是自己新创建的一个类,然后头文件在YTKTestSDK.h这个文件中引用了一下。
Snip20210506_4.png
  • 4. 在xcode 上边找到Build Phase 进行如下配置,其实就是把需要公开的文件放到Public下边,把需要隐藏的放入到Private下边,这里YTKTestManager.h头文件需要直接从项目中拖动Public下边,不然点击底部的+没有它。
Snip20210506_6.png
  • 5. 继续进行如下配置
Snip20210506_7.png
  • 6. 继续进行如下配置
Snip20210506_8.png

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

  • 7. 继续进行如下配置
Snip20210506_10.png
  • 8. 真机编译生成SDK
Snip20210506_13.png
  • 8. 模拟器 Snip20210506_14.png

编译生成SDK

  • 9.查看编译好之后的framework
20210506165146.jpg Snip20210506_15.png
  • 10.合并真机与模拟器编译后的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
  • 11.合并后倒出的文件如下:
Snip20210506_19.png
  • 12.去掉后缀lipo然后拖入真机编译后的如下图文件夹中对该文件进行替换。
Snip20210506_20.png
  • 13.最后把如下图整个拷贝到桌面,至此制作完毕一个适用于真机与模拟器的framework静态库制作完毕。
Snip20210506_21.png

相关文章

网友评论

      本文标题:ios 制作framework静态库

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