本地私有库使用
创建一个仓库,存储在本地,在本地的其它工程中直接使用
1.创建本地仓库
- 需要打标签
2.创建仓库描述文件
- 命令:
pod spec create 工程名
描述文件名最好与工程名一致。 -
用 Xcode 打开描述文件(最好不要用 txt),设置描述文件里面重要字段。
本地私有库
3.用pod集成本地库
-
podFile文件 指明安装本地库的路径
pod install
集成本地库
本地私有库优化
1.以上存在问题
- 手动创建 podspec 文件
- 手动使用 git 管理
- 无法测试,需手动创建测试工程
2.解决方案
-
使用
pod lib create XXX
命令创建 pod 库模板工程
-
拖入代码到 Classes文件夹, 并删除ReplaceMe.m
在宿主工程中, 直接测试, 没有问题后, 直接由外界以本地库的形式使用
远程私有库
远程私有库使用
1.本地私有库存在问题
- 需要主动指明路径
- 版本升级不好维护
- 不适合多人合作开发
2.远程私有库图解
3.创建远程私有的 Spec Repo 仓库
-
在 coding 创建私有仓库
- 使用 ssh 加密
-
添加到本地 repos
4.创建Pod私有库所需要的项目工程文件,并上传到私有仓库
- 创建仓库工程模板
pod lib create CLOCategories
便于本地测试 - 测试无误后,提交代码到远程私有仓库
- 打标签,并提交到远程仓库
-
修改 spec 文件
5.验证podSpec文件
-
pod lib lint
6.向私有的Spec Repo中提交podspec
pod repo push CLOPrivate CLOCategories.podspec
- 过程有警告可以用
--allow-warnings
忽略 - 过程会触发提交信息到远程私有索引库(CLOPrivateLib)
7.使用私有pod库
-
检索 pod rearch CLOCategories
-
使用:如果pod库在自己的索引库时,需引入source
pod install
远程私有库优化
1.以上方法存在问题
- 某一个组件库依赖依赖另一个第三方框架怎么办?
- 只想使用组件库里的某一个功能文件怎么办?
- 某一个组件库需要图片资源怎么办?
2.问题一解决方法
-
添加组件依赖 在 podspec 文件里设置依赖
-
pod install
会自动帮你集成 AFNetworking
3.问题二解决方法
-
在 podspec 里使用 subspec
-
只使用 pod 库里的 Network 模块
4.问题三解决方案
-
将所需图片素材存放在模板库中的 Assets 文件夹里 在 podspec 中启用 Assets
-
加载图片注意:此时的图片素材不在 MainBundle 里, 所有不能用
imageWithName
加载
加载图片正确方法NSString *path = [[NSBundle mainBundle] pathForResource:@"组件化" ofType:@"png" inDirectory:@"CLOBase.bundle"]; self.imageView.image = [UIImage imageWithContentsOfFile:path];