MeetYouDevs / cocoapods-imy-bin

1.05k stars 245 forks source link

依赖取值问题 #72

Closed dabing1022 closed 3 years ago

dabing1022 commented 3 years ago

大部分的轮子都要求组件能 pod lint 通过,但是绝大部分的组件并没有这么规范化,梦想总是美好的,现实总是残酷的。

为了能让绝大部分组件使用,我们绕过了 pod lint,优化了部分 cocoapods 流程,直接去取 build 后的. a 编译产物,结合对应的 podspec 文件,去组装 Headers、Resource。很多轮子都只制作当前的组件库,对于依赖的并不提供支持,在最新代码的前提下,利用所有的. a 编译产物制作对应二进制组件可以极大的提高效率。

同时制作二进制组件时 podspec 中 dependency 依赖组件,不再强制要求去 repo 拉取,而是优先从 podfile 拿取依赖值

在知乎上看到分享,其中提到了

不再强制要求去 repo 拉取,而是优先从 podfile 拿取依赖值

经过测试使用,发现好像并不是优先从Podfile中取依赖。这块有啥注意事项么?

@su350380433

dabing1022 commented 3 years ago

自问自答下:之前理解错了依赖取值的含义。大家需要注意的是,如果一个库要编译通过,podspec里面要注明该库依赖的dependency 库,但这个dependency库从哪里来?默认会按照github源或者自己的添加的私有源中获取,但通常是具体的某个最大tag或者指定tag,而我们可以Podfile里对该dependency库单独指定git地址,设定tag或者branch等。这种方式符合Cocoapods的使用习惯。