- 前言
- 搭建Cocoapods私有库环境
- 其余的一些技巧
在懂得如何写podspec以后,咱们来建立一个本身的私有库吧。在此以前咱们先了解一下pod的工做过程。html
cocoapods其实就是利用所维护的podspec文件,在使用方和提供方之间创建一个桥梁;并利用与项目关联的Pod项目去维护全部三方库。ios
因此若是想要搭建Pod私有库环境,则须要建立一个相似于pod官方的repo库,让这个repo库去保存本身写的三方库的podspec文件。git
如下均以我本身写的一个私有库ZCPKit去介绍。github
步骤:segmentfault
1.建立一个私有的repo库
2.准备一个写好的podspec文件的三方库
3.校验三方库
4.向私有的repo库中提交podspec
5.更新repo
6.搜索该三方库进行验证
首先建立一个空的git仓库myrepo,而后使用下面的命令将其添加到repos中。ide
pod repo add [repo名] [repo git地址] 例如: pod repo add myrepo https://git.coding.net/zcp164757979/myrepo.git
能够经过pod repo list命令验证是否添加成功。gitlab
以上一节写好的ZCPKit为例测试
https://git.coding.net/zcp164757979/ZCPKit.git
须要注意的是:ui
1. 要记得将代码提交到远端
2. 要记得打tag,每一个tag对应一个三方库版本
3. podspec文件中version的值要与git中的一个tag对应
使用下面的命令进行校验:spa
pod spec lint pod spec lint --allow-warnings // 此命令能够加参数,可以使用pod spec lint --help查看全部参数
使用下面命令进行提交:
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才能提交成功。
pod repo update [指定repo] 例如: pod repo update // 更新全部repo pod repo update myrepo // 更新指定repo
首先附上官网针对这块的介绍: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']
使用上述的指定三方库本地路径的写法:
// 指定三方库本地路径的写法(用于提交前进行测试) pod 'ZCPKit', :path => '~/Desktop/ZCPKit'
效果以下:
须要注意的是:处于开发环境的三方库是经过引用方式导入项目,也就是说修改文件内容至关于修改源文件内容。而其余写法是将三方库文件copy一份导入项目中。
Cocoapods整理(一)——安装Cocoapods
Cocoapods整理(二)——使用Cocoapods
Cocoapods整理(三)——编写podspec文件
本篇文章的repo demo:myrepo
私有库demo:ZCPKit