Cocoapods整理(四)——搭建Cocoapods私有庫環境

Cocoapods整理(四)——搭建Cocoapods私有庫環境


目錄

  • 前言
  • 搭建Cocoapods私有庫環境
  • 其餘的一些技巧

前言

在懂得如何寫podspec以後,咱們來建立一個本身的私有庫吧。在此以前咱們先了解一下pod的工做過程。html

clipboard.png

cocoapods其實就是利用所維護的podspec文件,在使用方和提供方之間創建一個橋樑;並利用與項目關聯的Pod項目去維護全部三方庫。ios

因此若是想要搭建Pod私有庫環境,則須要建立一個相似於pod官方的repo庫,讓這個repo庫去保存本身寫的三方庫的podspec文件。git

如下均以我本身寫的一個私有庫ZCPKit去介紹。github

搭建Cocoapods私有庫環境

步驟:segmentfault

1.建立一個私有的repo庫
2.準備一個寫好的podspec文件的三方庫
3.校驗三方庫
4.向私有的repo庫中提交podspec
5.更新repo
6.搜索該三方庫進行驗證

1> 建立私有的repo庫

首先建立一個空的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

clipboard.png

2> 準備一個寫好的podspec文件的三方庫

以上一節寫好的ZCPKit爲例測試

https://git.coding.net/zcp164757979/ZCPKit.git

須要注意的是:ui

1. 要記得將代碼提交到遠端
2. 要記得打tag,每一個tag對應一個三方庫版本
3. podspec文件中version的值要與git中的一個tag對應

clipboard.png

clipboard.png

3> 校驗三方庫

使用下面的命令進行校驗:spa

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才能提交成功。

clipboard.png

5> 更新repo

pod repo update [指定repo]
例如:
pod repo update // 更新全部repo
pod repo update myrepo // 更新指定repo

clipboard.png

6> 搜索該三方庫進行驗證

clipboard.png

其餘的一些技巧

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'

效果以下:

clipboard.png

須要注意的是:處於開發環境的三方庫是經過引用方式導入項目,也就是說修改文件內容至關於修改源文件內容。而其餘寫法是將三方庫文件copy一份導入項目中。


回顧

Cocoapods整理(一)——安裝Cocoapods
Cocoapods整理(二)——使用Cocoapods
Cocoapods整理(三)——編寫podspec文件

本篇文章的repo demo:myrepo
私有庫demo:ZCPKit

我的的repo:zcprepo
私有庫:ZCPKit


參考文章:

使用Cocoapods建立私有podspec

相關文章
相關標籤/搜索