组件化学习之路文章集合:
上一篇文章我们介绍了如何搭建自己的远程私有库,本篇我们就继续学习如何进行远程私有库的升级和库的依赖、资源的依赖、图片的依赖。
一、升级和添加库的依赖、资源的依赖
例如:我们添加新的基本组件,这个基本组件又依赖于`SDWebImage`库,所以我们就要进行升级和添加库依赖。
1.在Classes文件夹里添加新的基本组件

2.修改我们的.podspec
文件

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


4.进行.podspec
文件验证

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

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


这里我们已经成功升级和添加库依赖。
二、添加图片依赖
一些基本组件里会有一些图片,所以我们需要添加图片依赖。
1.我们将图片放到Assets文件夹中

2.我们修改.podspec
文件

3.按照上面的升级步骤走一波提交添加的图片和更新索引库,升级成功后我们安装到主工程中就可以了。
4.注意事项
我们直接在工程里使用图片的话会找不到图片,因为在mainBundle中找不到对应的图片,我们需要找到图片的存放位置。




最后我们找到图片是在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;
三、私有库分支
我们有时集成某个库时,只需要库里的某个基本组件,并不需要全部集成,这是库分支实现就是不错的选择。

1.查看我们的Classes,如下有两个基本组件

2.我们修改
.podspec
文件中source_files属性,分别写入每个基本组件
3.还是按照上面的升级步骤走一波,然后我们再来看搜索后的结果。如下我们成功创建:

4.然后我们就可以集成自己所需的分支基本组件。
本文已写完,请大家提出意见,我会慢慢进步。本文属于学习过程所写的:感谢MagicCare
网友评论