一、 創(chuàng)建兩個(gè)倉(cāng)庫(kù)(像GitLab之類的可以托管共享文件的網(wǎng)站,也可以是公司內(nèi)部的文件管理服務(wù)器)
- 一個(gè)存放共享文件版本描述文件的倉(cāng)庫(kù)(podspec文件)
- 存放共享文件的倉(cāng)庫(kù)
二、在本地使用pod模板創(chuàng)建共享文件,并且修改版本描述信息(當(dāng)然也可以用其他方法創(chuàng)建共享文件,這種方法比較快捷簡(jiǎn)單)
-
打開終端 執(zhí)行 pod lib create SOURCE_NAME(例子中SOURCE_NAME=WG_Class),按照自己的需求生成模板
Snip20170926_2.png 找到剛創(chuàng)建的模板文件夾 ,打開WG_Class.podspec,并修改簡(jiǎn)介和文件地址
Pod::Spec.new do |s|
s.name = 'WG_Class'
s.version = '0.1.0'
s.summary = ' This is WG_Class test.'
// s.swift_version = '4.2' // swift需要指定版本
s.description = <<-DESC
TODO: Add long description of the pod here.
DESC
s.homepage = 'http://192.168.1.100:10000/OneGeng/WG_Class' 。 // 倉(cāng)庫(kù)代碼主頁(yè)
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'onegeng' => 'wangg@yunyichina.cn' }
s.source = { :git => 'http://192.168.1.100:10000/OneGeng/WG_Class.git', :tag => s.version.to_s } //倉(cāng)庫(kù)代碼下載地址
s.ios.deployment_target = '8.0'
s.source_files = 'WG_Class/Classes/**/*' // 代碼路徑
end
- 將遠(yuǎn)程倉(cāng)庫(kù)添加到本地,查看本地倉(cāng)庫(kù)這時(shí)多出一個(gè)WG_Repo文件夾
pod repo add WG_Repo http://192.168.1.100:10000/OneGeng/WG_Repo.git
open ~/.cocoapods/repos

Snip20170926_5.png
- 驗(yàn)證本地bWG_Class.podspec文件是否符合規(guī)則
*驗(yàn)證遠(yuǎn)程環(huán)境
pod spec lint
* 終端輸入pod lib lint WG_Class.podspec **需要cd到WG_Class.podspec文件所在的文件夾,否則無(wú)法驗(yàn)證**
* 如出現(xiàn)如下錯(cuò)誤

Snip20170926_4.png
則需要在終端執(zhí)行
echo "3.0" > .swift-version
-
然后再驗(yàn)證WG_Class.podspec文件.就會(huì)出現(xiàn)這些信息哦
Snip20170926_7.png - 驗(yàn)證遠(yuǎn)程索引庫(kù)是否正確
pod spec lint
三、 把本地代共享文件上傳到共享文件倉(cāng)庫(kù),在這里小編使用git來(lái)上傳,用其它版本控制工具的按照你們自己的方法上傳文件就行
cd 到共享文件夾
pod init
git remote add origin http://192.168.1.100:10000/OneGeng/MyApp.git
git add .
git commit
git push origin master
四、把.podspec文件上傳到版本倉(cāng)庫(kù)
*這一步操作之前需要先把代碼push到代碼庫(kù)
pod repo push WG_Repo WG_Class.podspec
如果push失敗。查看是否有error沒error加--allow-warnings在push一次就行了

Snip20170926_8.png
五、 測(cè)試
pod search 或者pod install
podspec文件不用隨著代碼一起push到代碼庫(kù)
擴(kuò)展
- cocoapods的公共庫(kù)是因?yàn)楣矌?kù)的索引文件上傳到pod維護(hù)的一個(gè)索引庫(kù)里面

