iOS-从0到组件使用
2021-04-25 本文已影响0人
时光凉的小贝
新建组件
- 本地新建一个文件夹,用于存放管理组件(起名:TestPod)
- 下载组件模板到TestPod文件夹
cd 到TestPod文件夹:cd TestPod
下载组件模板并设置组件名:pod lib create TestKit
- 组件基本设置
// 使用系统
What platform do you want to use?? [ iOS / macOS ]
> ios
// 使用语言
What language do you want to use?? [ Swift / ObjC ]
> objc
// 是否创建测试Demo
Would you like to include a demo application with your library? [ Yes / No ]
> yes
// 使用哪种测试框架
Which testing frameworks will you use? [ Specta / Kiwi / None ]
> specta
// 是否需要测试视图
Would you like to do view based testing? [ Yes / No ]
> yes
// 测试Demo的类前缀
What is your class prefix?
> TB
组件代码
- 类文件直接复制到TestPod/TestKit/TestKit/Classes里
- 配置组件索引文件
- 检查索引文件格式是否规范
- cd 到组件根目录cd [文件夹全路径]/TesPod/TestKit
- 检查本地索引文件(passed validation 表示通过验证;--allow-warnings可忽略警告)pod lib lint如果提示标签类错误可暂时不用管,往下继续
- 制作好的代码Pod到组件测试工程中(可进行编译,运行,发现代码问题)
- cd 到组件的Example文件夹: cd [文件夹全路径] (eg:/TesPod/TesKit/Example )
- Pod集成pod install
- 把做好的组件推送到自己的组件仓库
cd 到组件根目录cd [文件夹全路径]/TestPod/TestKit/
初始化:git init
添加:git add .
提交:git commit -m "TestKit组件初始化"
关联git上的组件仓库:git remote add origin [组件仓库URL]
推送代码:git push origin master
添加标签:git tag 0.1.0 (这点的版本号需要和spec文件里的版本一致)
标签推送到组件仓库:git push --tags
检查远程索引文件: pod spec lint (passed validation 表示通过验证)
索引文件仓库
- 关联索引文件仓库
* 远程创建的索引文件仓库关联拷贝到本地pod repo add [仓库名] [仓库URL地址]
- 检查是否安装成功
* cd 到索引文件仓库cd ~/.cocoapods/repos/[仓库名]
* 验证索引文件仓库pod repo lint .
关联CocoaPods服务器
- 制作好的组件关联CocoaPods服务器
- cd 到TestKit组件根目录: cd [文件夹全路径]/TestPod/TestKit
- 推送组件的索引文件到服务器,并告诉服务器存在哪个私有仓库中[私有仓库名] ( xxSpecs[组件名])
TestKit repo push [私有仓库名] [组件名].podspec --allow-warnings
- 查看本地的CocoaPods仓库(可看到公共库和自己的私有库)
pod repo
- 检查组件
- 更新本地CocoaPods仓库
pod repo update
- 搜索刚才制作的组件[组件名]
pod search [组件名]
项目中引用私有组件
- 项目里配置Podfile文件
- 全局添加(<私有索引文件仓库>地址)
source '组件所在的索引文件地址' (eg:source 'https://github.com/CocoaPods/Specs.git')
- 添加组件地址
pod '组件名称' (eg:pod 'AFNetworking')
image.png
然后就没得咯、、