- 前言
- 搭建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