程序员iOS小知识

cocoapods swift库静态库之旅

2018-06-01  本文已影响951人  寒枫傲天

在cocoapods1.4 之前 对于pods库集成swift库 都是需要我们设置 !use_framework ,这样设置之后所有的pods库都必须使用动态库,但这就带来一个问题,如果我需要集成一个静态库怎么办?
水平有限,我们之前只有两种方案:

经过调研采坑 我们采用了第二种方案。初期不觉得有什么问题,但是之后库越来越多,包装这件事情本身就是费时费力,中间也踩了很多坑,这个是一开始的调研。在开开心心的用了swift之后 我们打包遇到了困难,打包报错动态库依赖过多 大概只能有75左右的动态库 超过了这个数就要GG...

正好这时候cocoapods 1.5发布 文章发布时为1.5.3 大问题基本已经解决。遂采取社区的pods方案。
其实很简单
1 升级pods
gem install cocoapods
2 自己组件库的podsepc 添加s.static_framework = true
这里有个问题说下,显然 很多第三方你发不了podspec,所以需要对主工程的podfile 做些改造。

pre_install do |installer|

Pod::PodTarget.send(:define_method, :static_framework?) { return true }
end

添加这个代码 我们可以把所有的pods库都设为静态库。

3 podfile 里添加 use_modular_headers!
或者你可以增对单独的库使用 :modular_headers => true

上一篇下一篇

猜你喜欢

热点阅读