2018-06-11 cocopods打包第三方为静态库framework 并使用

因为公司要提供sdk对外用。 第三方比较多二十来个 要求将第三方也打包进framework
1:为什么选择cocopods的方式来打包静态库?
首先因为当前项目中的第三方是用cocopods来管理的, 这时候有两个问题 1:打静态库能否将cocopods中的第三方打进去 2:如果能打进去会和用户本身当前引入的第三方冲突吗?

以Masonry举例,不知道对方是否集成了Masonry,我们提供的sdk是抽取的以前的代码 包含几个页面是Masonry布局 。可能会出现 冲突


原工程是用cocopods来管理 担心两点1:cocopods中的第三方会被打入framework吗 2:如果能打入framework 会和用户引入的重复吗? 基于这个选择cocopods.png

参考文章:http://www.cnblogs.com/brycezhang/p/4117180.html
选型cocopods来打包framework

打framework过程 和私仓流程几乎一样

走完私仓流程后
打包
命令很简单,执行

pod package JingLib.podspec --force

--force是指强制覆盖。

这是我打的流程和踩得坑
https://www.jianshu.com/p/93c4b5eb3fb3

打出来的framework.png

网上大部分流程到这就没了 大部分是私仓流程 打包的也到这就没了
用的时候运行闪退 开始怀疑人生。。。 开始怀疑是不是没把Masonry打进去
一不小心又踩了个坑
如图:

打完后导入工程发现闪退 因为我是以Masonry为例子 运行的时候
不加-ObjC闪退.png

1:这个图上半部分是framework内部的ClickTextView追加了个addTestView方法用来测试能否正常运行 能运行说明framework内部有Masonry


添加测试方法.png
加不加Masonry包大小变化.png

后面网络搜索发现是 类别问题
解决静态库.png
-ObjC.png

加objc后正常了

打出来的framework.png

验证支持的CPU架构
验证支持的架构.png

使用framework的demo地址:https://gitee.com/heyuefengyun/JingLibUseTestDemo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容