美文网首页
CocoaPods 组件化实践-私有库互相引用

CocoaPods 组件化实践-私有库互相引用

作者: 海文_L | 来源:发表于2018-11-27 15:15 被阅读10次

前面介绍了如何创建私有库,大家按上面提供的步骤完成子项目a、b、c、d、e的私有库部署,本章我们介绍下各个私有库如何关联及其他注意事项。

一、关联私有库

按照步骤,我们建完sub_pro_a的私有库后,照惯例我们添加第三引用库s.dependency 'cp_vendors',因在vendors项目中添加过其他第三库(AF、MJ.....),所以在sub_pro_a项目中,我们只需要添加cp_vendors的引用就可以了。

sub_pro_a.podspec

cd至Example目录,执行pod install 命令,应该会报下面错误

vendors错误

那是因为校验podspec文件时会到远程podspec库查找相关依赖,默认只会到官方specs库校验,此时需要指定远程specs库去校验。cd至上级目录执行代码远程仓库提交的操作,再执行sources关联指令:

pod spec lint --sources='git@github.com:havendev/vendors_specs.git,https://github.com/CocoaPods/Specs' --allow-warnings 

没执行代码远程仓库提交操作,会报这个错

 Encountered an unknown error

执行成功后是这样的

关联成功

在sub_pro_a的Podfile文件中添加source

source 'git@github.com:havendev/vendors_specs.git'

source 'https://github.com/CocoaPods/Specs.git'

重新cd回至Example,执行pod install指令

成功执行指令

回到项目中检查各个第三方库以及vendors的common、helper是否成功添加,如有则成功关联

成功关联后的目录

二、注意事项

Q1: The `source_files` pattern did not match any file.

A1:两种可能,一种是s.source_files的指向有误,这里路径需要注意下,是以XXX.podspec文件所在路径为基准,另一个原因可能是Classes里面的文件没有提交到git仓库导致。

相关文章

  • CocoaPods 组件化实践-私有库互相引用

    前面介绍了如何创建私有库,大家按上面提供的步骤完成子项目a、b、c、d、e的私有库部署,本章我们介绍下各个私有库如...

  • iOS 组件化-本地私有库

    CocoaPods本地私有库 组件化-使用CocoaPods管理的本地私有库,可以分为3种 本地私有引用 本地工程...

  • 组件化远程私有库解决方案(cocoapods基于git 、svn

    组件化远程私有库解决方案(cocoapods基于git 、svn)----高级版 组件化远程私有库解决方案(coc...

  • iOS组件化-CocoaPods

    组件化练手,首先先使用CocoaPods创建本地私有库和远程私有库。CocoaPods大家都用过,那就废话不多说了...

  • 组件化学习

    组件化是什么 组件化是通过cocoapods的形式安装各个组件,那么就要了解cocoapods是怎么打造本地私有库...

  • 私有CocoaPods库使用一

    目的 私有pod库引用私有pod库或静态库 使用场景 项目组件化, 工具组件化很好实现, 但是业务组件化就没那么容...

  • 使用CocoaPods构建自己的私有库

    使用 CocoaPods 建立一个私有库,将项目中的公共组件交由它管理,方便于其它项目的引用,也是组件化项目开发的...

  • 使用CocoaPods创建私有库

    最近在研究使用CocoaPods创建私有库,因为公司要使用组件化,然后打算用cocoapods来管理各个组件,那就...

  • 组件化(一):搭建远程私有库

    组件化学习之路文章集合: 组件化(二):远程私有库的升级+依赖 组件化的话,我们一般都通过cocoapods库集成...

  • 组件化(第一篇)

    组件化 git 常用操作指令 cocoapods的基本使用 cocoapods本地私有库 一、git 常用操作指令...

网友评论

      本文标题:CocoaPods 组件化实践-私有库互相引用

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