前言:制作一个有相互依赖关系的本地库,之前写的私有库和公开pod库的制作步骤都没有写如果有依赖关系应该如何处理。
期待:制作一个组件库1(
XXLogin
),但是组件库1(XXLogin
)依赖一个公开库2(XXAlertTransition
)和一个本地库3(XXNetworking
), 本地库3(XXNetworking
)又依赖一个网络库4(AFNetworking
)
一、 首先创建一个新工程,然后创建了一个Lib
文件夹来管理所有的development pod
。
image.png
二、 创建本地库XXNetworking
。(因为期望中XXLogin
要依赖这个库,所以先制作好这个)
-
cd
到Lib
文件夹下pod lib create XXNetworking
image.png - 删除
Classes
文件下的ReplaceMe
文件,添加自己的类。
image.png - 修改
XXNetworking.podspec
,按照本文开头期望那样,依赖AFNetworking
。XXNetworking
对AFNetworking
进行二次封装,其实这里没有真正的写封装代码,只是为了制作本地库弄的demo
。
image.png
三、创建本地库XXLogin
-
cd
到Lib
文件夹下pod lib create XXLogin
,过程和上面一样,省略。 - 删除
Classes
文件下的ReplaceMe
文件,添加自己的类。
image.png - 修改
XXLogin.podspec
image.png
四、 使用
-
image.pngcd
到 最开始创建的XXDevelopmentPod
工程目录下,创建Pofile
文件。
-
image.pngpod install
-
看下工程目录到变化。
image.png
五、 总结
- 注意⚠️:
- 本来只想引入
XXLogin
这个库,但是这个库依赖了另一个本地库XXNetworking
,所以在Podfile
文件中,需要指定出XXNetworking
的path
,否则会报错,如下图
image.png
- 而依赖的其他公开网络库则不用在
Podfile
文件中指定,会自动pod
下来依赖的库。
- 本地库和私有库公开库区别
- 不用分开制作一个git仓库
- 不用和远程关联,改库版本、打tag...
- 本地修改即时生效不用发布
其他系列:
网友评论