Cocoapods整理(四)——搭建Cocoapods私有库环境
目录
- 前言
- 搭建Cocoapods私有库环境
- 其他的一些技巧
前言
在懂得如何写podspec之后,我们来创建一个自己的私有库吧。在此之前我们先了解一下pod的工作过程。
cocoapods其实就是利用所维护的podspec文件,在使用方和提供方之间建立一个桥梁;并利用与项目关联的Pod项目去维护所有三方库。
所以如果想要搭建Pod私有库环境,则需要创建一个类似于pod官方的repo库,让这个repo库去保存自己写的三方库的podspec文件。
以下均以我自己写的一个私有库ZCPKit去介绍。
搭建Cocoapods私有库环境
步骤:
1.创建一个私有的repo库
2.准备一个写好的podspec文件的三方库
3.校验三方库
4.向私有的repo库中提交podspec
5.更新repo
6.搜索该三方库进行验证
1> 创建私有的repo库
首先创建一个空的git仓库myrepo,然后使用下面的命令将其添加到repos中。
pod repo add [repo名] [repo git地址]
例如:
pod repo add myrepo https://git.coding.net/zcp164757979/myrepo.git
可以通过pod repo list命令验证是否添加成功。
2> 准备一个写好的podspec文件的三方库
以上一节写好的ZCPKit为例
https://git.coding.net/zcp164757979/ZCPKit.git
需要注意的是:
1. 要记得将代码提交到远端
2. 要记得打tag,每个tag对应一个三方库版本
3. podspec文件中version的值要与git中的一个tag对应
3> 校验三方库
使用下面的命令进行校验:
pod spec lint
pod spec lint --allow-warnings
// 此命令可以加参数,可使用pod spec lint --help查看所有参数
4> 向私有的repo库中提交podspec
使用下面命令进行提交:
pod repo push [repo名] [三方库podspec文件路径]
例:
pod repo push myrepo ZCPKit.podspec
pod repo push myrepo ZCPKit.podspec --allow-warnings
// 此命令可以加参数,可使用pod repo push --help查看所有参数
每一次提交相当于一个版本,podspec文件中的version要在git上有对应的tag才能提交成功。
5> 更新repo
pod repo update [指定repo]
例如:
pod repo update // 更新所有repo
pod repo update myrepo // 更新指定repo
6> 搜索该三方库进行验证
其他的一些技巧
1> Podfile引入三方库的几种写法
首先附上官网针对这块的介绍:The Podfile
podfile最基本引入三方库的写法如下:
pod 'AFNetworking'
pod 'AFNetworking', '3.1.0'
此外还有其他几种引入三方库的写法:
// 指定三方库本地路径的写法(用于提交前进行测试)
pod 'AFNetworking', :path => '~/Desktop/AFNetworking'
// 指定git的写法
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git'
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :branch => 'dev'
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => '3.1.1'
pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :commit => '0f506b1c45'
// 指定podspec的写法
pod 'AFNetworking', :podspec => '~/Desktop/AFNetworking/AFNetworking.podspec'
// 指定subspecs的写法(这也是subspec的另一个用法)
pod 'MyThirdparty', '~> 0.0.1', :subspecs => ['Sparta', 'GotyeSDK', 'TalkingData', 'Tingyun', 'BaiduPanorama']
2> 调试私有库管理的三方库
使用上述的指定三方库本地路径的写法:
// 指定三方库本地路径的写法(用于提交前进行测试)
pod 'ZCPKit', :path => '~/Desktop/ZCPKit'
效果如下:
需要注意的是:处于开发环境的三方库是通过引用方式导入项目,也就是说修改文件内容相当于修改源文件内容。而其他写法是将三方库文件copy一份导入项目中。
回顾
Cocoapods整理(一)——安装Cocoapods
Cocoapods整理(二)——使用Cocoapods
Cocoapods整理(三)——编写podspec文件
本篇文章的repo demo:myrepo
私有库demo:ZCPKit