1.創(chuàng)建私有庫(kù)工程
1)新建工程,選擇Static Library,取名NicolasLibs


2)創(chuàng)建自己的文件,我創(chuàng)建一個(gè)打印類(lèi)

2.在gitlab創(chuàng)建一個(gè)code repository(代碼倉(cāng)庫(kù)), 一個(gè)spec repository(配置倉(cāng)庫(kù))
還可以使用github(私有需要收費(fèi)) 、開(kāi)源中國(guó)、CODING、Bitbucket、CSDN code都可以3
1)在gitlab 點(diǎn)擊+,創(chuàng)建代碼倉(cāng)庫(kù)
注意:勾選生成readme.md文件,不然后面會(huì)push不了,當(dāng)然可以后面創(chuàng)建

2)同樣的步驟創(chuàng)建配置倉(cāng)庫(kù)(注意名字區(qū)分),最后得到兩個(gè)私有倉(cāng)庫(kù)

3.使用SourceTree工具克隆兩個(gè)倉(cāng)庫(kù)到本地,并把步驟1中代碼提交到代碼倉(cāng)庫(kù),并打 tag
1)克隆兩個(gè)倉(cāng)庫(kù)到本地:不知道怎么克隆的,自行百度哈

拉取后,別忘了執(zhí)行g(shù)itlabe官方的一些命令,比如設(shè)置用戶名與git賬號(hào)等
2)將步驟1 代碼,提交,并打tag

注意:勾選推送標(biāo)簽

4.創(chuàng)建和編輯三個(gè)文件
1)創(chuàng)建和編輯README.md、創(chuàng)建和編輯LICENSE
這個(gè)文件在github中也有,是項(xiàng)目的說(shuō)明文件,根據(jù)自己的項(xiàng)目做一些說(shuō)明.打開(kāi)終端,cd到工具類(lèi)文件所在的路徑下

2)創(chuàng)建和編輯.podspec文件,這一步很關(guān)鍵
打開(kāi)終端,輸入 cd ~/ 命令
cd ~/
為了維護(hù),建議名字跟工具類(lèi)所在項(xiàng)目名一樣,進(jìn)入到根目錄后創(chuàng)建一個(gè)名字叫NicolasLibs.podspec的文件
pod spec create NicolasLibs

使用vim進(jìn)行編輯,或者直接使用記事本打開(kāi)編輯(我選擇后者)
vim NicolasLibs.podspec
清空,然后按下面的格式替換成你自己的私有庫(kù)
Pod::Spec.new do |s|
s.name = "NicolasLibs"
s.version = "1.0.2" #當(dāng)前版本
s.summary = "NicolasLibs a hello " #描述
s.homepage = "xxxxxx/Nicolas/nicolascoderep.git" #庫(kù)文件主頁(yè)地>址
s.license = 'MIT'
s.author = { '開(kāi)發(fā)者名字' => '開(kāi)發(fā)者賬號(hào)' } #開(kāi)發(fā)者
s.source = { :git => 'xxxxxxxxxx:Nicolas/nicolascoderep.git', :tag => s.version.to_s } #文件的git地址,以及當(dāng)前版本對(duì)應(yīng)的tag
s.source_files = 'NicolasLibs/NicolasLibs/*' #文件所在的目錄,后面*是一個(gè)正則表達(dá)式,目錄我下面會(huì)有解釋
# s.source_files = 'NicolasLibs/NicolasLibs/*.{h,m}' #文件所在的目錄,后面*.{h.m}是一個(gè)正則表達(dá)式,目錄我下面會(huì)有解釋
# s.resources = 'NicolasLibs/NicolasLibs/*.xib' #資源文件所在的目錄圖片,xib等,這個(gè)demo沒(méi)有用到
s.framework = 'UIKit' #當(dāng)前這個(gè)庫(kù)所依賴的系統(tǒng)的庫(kù)
s.platform = :ios,"9.0"
s.requires_arc = true #是否支持arc
s.swift_version = '5.0'
end
編輯完按Esc 并輸入:wq下面的命令進(jìn)行保存
:wq
3)進(jìn)入終端進(jìn)行驗(yàn)證,根目錄
pod spec lint NicolasLibs.podspec --allow-warnings
出現(xiàn)passed validating則說(shuō)明驗(yàn)證成功

5.創(chuàng)建本地的私有倉(cāng)庫(kù)文件
1)使用下面的命令就可以在本地生成配置文件的倉(cāng)庫(kù),建議這個(gè)本地的名字也和遠(yuǎn)程的一致,這樣便于區(qū)分和后期的維護(hù).
NicolasSpecRep 是你遠(yuǎn)端創(chuàng)建的配置文件倉(cāng)庫(kù)的名字,后面是配置文件倉(cāng)庫(kù)遠(yuǎn)端的地址 .
注意:此時(shí)不需要cd進(jìn)入任何目錄,從默認(rèn)位置輸入這個(gè)命令,即在點(diǎn)擊終端快捷方式打開(kāi)的狀態(tài)下直接輸入下面的命令即可
pod repo add NicolasSpecRep https://xxxxx/Nicolas/nicolasspecrep.git
2)查看是否添加成功
pod repo list
如果出現(xiàn)NicolasSpecRep則說(shuō)明添加成功

或者查看本地目錄是否有NicolasSpecRep文件夾 (隱藏顯示文件顯示快捷鍵cmd+shift+.)

6.將配置文件push到遠(yuǎn)端的配置倉(cāng)庫(kù)
1)將配置文件push到遠(yuǎn)端專(zhuān)門(mén)存儲(chǔ)配置文件的倉(cāng)庫(kù)中 ,本地的也會(huì)同步更新
此時(shí)需要cd進(jìn)入本地的.podspec所在的路徑,默認(rèn)是根目錄,否則會(huì)找不到podspec文件
使用下面的命令即可,有問(wèn)題可以參考報(bào)錯(cuò)信息去修改
JXSpecRep 是你創(chuàng)建的spec repository配置倉(cāng)庫(kù)的名字,后面是你本地創(chuàng)建的.podspec文件
pod repo push NicolasSpecRep NicolasLibs.podspec --allow-warnings
出現(xiàn)下面信息則成功了

本地也會(huì)增加一個(gè)版本

3)云端也能查看到
7.確認(rèn)制作完成并使用
1)查詢是否有我們需要的私有庫(kù)
pod search NicolasLibs
出現(xiàn)下圖

2)新建一個(gè)測(cè)試項(xiàng)目,并初始化pod
pod init
編輯podfile 文件,使用vim或者直接用記事本筆記
source '..../Nicolas/nicolasspecrep.git' //遠(yuǎn)端配置倉(cāng)庫(kù)url
pod 'NicolasLibs'
3)cd 到測(cè)試工程根目錄,執(zhí)行pod install
pod install
inport導(dǎo)入并使用

8.更新
1)修改私有庫(kù)代碼,并提交遠(yuǎn)程倉(cāng)庫(kù),并打新的tag
2)編輯.podspec 文件,修改成tag對(duì)應(yīng)的版本
3)進(jìn)入終端進(jìn)行驗(yàn)證,根目錄
pod spec lint NicolasLibs.podspec --allow-warnings
4)push推送到云端
pod repo push NicolasSpecRep NicolasLibs.podspec --allow-warnings
5)測(cè)試工程修改podfile中私有庫(kù)版本,執(zhí)行pod update 命令
pod update
后在執(zhí)行
pod install
參考網(wǎng)上文章寫(xiě)的,如有疑問(wèn),歡迎留言