组件化(二):远程私有库的升级+依赖+私有库分支

组件化学习之路文章集合:

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

上一篇文章我们介绍了如何搭建自己的远程私有库,本篇我们就继续学习如何进行远程私有库的升级和库的依赖、资源的依赖、图片的依赖。

一、升级和添加库的依赖、资源的依赖

  例如:我们添加新的基本组件,这个基本组件又依赖于`SDWebImage`库,所以我们就要进行升级和添加库依赖。

1.在Classes文件夹里添加新的基本组件

组件化(二):远程私有库的升级+依赖+私有库分支_第1张图片

2.修改我们的.podspec文件

组件化(二):远程私有库的升级+依赖+私有库分支_第2张图片

3.我们提交本地代码到远程库

组件化(二):远程私有库的升级+依赖+私有库分支_第3张图片

4.进行.podspec文件验证

组件化(二):远程私有库的升级+依赖+私有库分支_第4张图片

5.提交.podspec文件到远程索引库

组件化(二):远程私有库的升级+依赖+私有库分支_第5张图片

6.最后一步就是将组件集成到我们的主工程中【在这里我们先将Podfile.lock删除,然后在使用pod install命令】

组件化(二):远程私有库的升级+依赖+私有库分支_第6张图片

组件化(二):远程私有库的升级+依赖+私有库分支_第7张图片

这里我们已经成功升级和添加库依赖。

二、添加图片依赖

一些基本组件里会有一些图片,所以我们需要添加图片依赖。

1.我们将图片放到Assets文件夹中

组件化(二):远程私有库的升级+依赖+私有库分支_第8张图片

2.我们修改.podspec文件

组件化(二):远程私有库的升级+依赖+私有库分支_第9张图片

3.按照上面的升级步骤走一波提交添加的图片和更新索引库,升级成功后我们安装到主工程中就可以了。

4.注意事项

我们直接在工程里使用图片的话会找不到图片,因为在mainBundle中找不到对应的图片,我们需要找到图片的存放位置。

组件化(二):远程私有库的升级+依赖+私有库分支_第10张图片

组件化(二):远程私有库的升级+依赖+私有库分支_第11张图片

组件化(二):远程私有库的升级+依赖+私有库分支_第12张图片

组件化(二):远程私有库的升级+依赖+私有库分支_第13张图片

最后我们找到图片是在SXComponent.bundle文件中,所以我们需要修改基本组件里图片获取的代码如下,然后就会显示出来了。

  // 设置图片
NSBundle *currentBundle = [NSBundle bundleForClass:[self class]];
NSString *imagePath = [currentBundle pathForResource:@"a.png"  ofType:nil inDirectory:@"SXComponent.bundle"];
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
self.backgroundImage = image;

三、私有库分支

我们有时集成某个库时,只需要库里的某个基本组件,并不需要全部集成,这是库分支实现就是不错的选择。

组件化(二):远程私有库的升级+依赖+私有库分支_第14张图片
SDWebImage库

1.查看我们的Classes,如下有两个基本组件
组件化(二):远程私有库的升级+依赖+私有库分支_第15张图片

2.我们修改 .podspec文件中source_files属性,分别写入每个基本组件
组件化(二):远程私有库的升级+依赖+私有库分支_第16张图片

3.还是按照上面的升级步骤走一波,然后我们再来看搜索后的结果。如下我们成功创建:
组件化(二):远程私有库的升级+依赖+私有库分支_第17张图片

4.然后我们就可以集成自己所需的分支基本组件。


本文已写完,请大家提出意见,我会慢慢进步。本文属于学习过程所写的:感谢MagicCare

你可能感兴趣的:(组件化(二):远程私有库的升级+依赖+私有库分支)