本教程是手把手教你發(fā)布自己的cocoapods開源庫的進(jìn)階教程案狠,請先閱讀該教程
1摇庙、準(zhǔn)備私有代碼倉庫
在GitLab
或者Coding.net
等可以創(chuàng)建私有代碼倉庫的地方創(chuàng)建兩個(gè)空的私有庫待用速缆, 我取名為PrivatePodspecs
(倉庫1)和testClasses
(倉庫2)言沐。
PrivatePodspecs
(可換別的名字)的作用類似于CocoaPods的官方spec repo用來專門存放.podspecs
文件厅篓。testClasses
(可換別的名字)作為私有庫的源碼Git版本控制地址琼梆,用來保存私有的源代碼,記得啟用README(我就沒加捌臊,導(dǎo)致.podspec中s.homepage校驗(yàn)不通過Q畹啊!)理澎。將項(xiàng)目組成員加入項(xiàng)目逞力,項(xiàng)目僅對成員可見、擁有代碼倉庫矾端、上傳文件等功能
2掏击、上傳私有庫源代碼
模仿手把手教你發(fā)布自己的cocoapods開源庫卵皂,上傳私有庫源代碼到testClasses
秩铆,即上文的倉庫2。將自己的項(xiàng)目打成tag灯变、注冊CocoaPods(若沒有注冊)殴玛、創(chuàng)建.podspec。一切同cocoapods公有庫創(chuàng)建一樣添祸。
.podspec
內(nèi)容如下:
Pod::Spec.new do |s|
s.name = 'testClasses'
s.version = '1.0.0'
s.authors = { 'liugangios' => 'example@example.com' }
s.homepage = 'https://git.coding.net/ustbliugang/testClasses'
s.summary = 'a dropdown menu for ios like wechat homepage.'
s.source = { :git => 'https://git.coding.net/ustbliugang/testClasses.git',
:tag => s.version.to_s }
s.license = { :type => "MIT", :file => "LICENSE" }
s.platform = :ios, '7.0'
s.requires_arc = true
s.source_files = 'testClasses'
s.public_header_files = 'testClasses/*.h'
s.ios.deployment_target = '7.0'
end
3滚粟、創(chuàng)建私有cocopods庫
在Terminal
中執(zhí)行以下命令在本地添加自己的cocopod私有庫
# pod repo add [私有cocopods庫的名字] [私有庫的URL]
pod repo add LGSpecs https://git.coding.net/ustbliugang/PrivatePodspecs.git
注意:地址要換成你自己創(chuàng)建的Specs git地址,即上文的倉庫1
創(chuàng)建成功后會(huì)在電腦本地的 ~/.cocoapods/repos目錄中生成LGSpecs文件夾刃泌,master為cocoapods官方庫凡壤,LGSpecs即為私有庫署尤。
~/.cocoapods/repos文件默認(rèn)是一個(gè)隱藏目錄,在Terminal中執(zhí)行以下命令顯示隱藏文件:
defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder
執(zhí)行以下命令恢復(fù)隱藏文件:
defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder
4亚侠、提交.podspec文件到私有庫
cd
到步驟2創(chuàng)建的.podspec
文件所在目錄曹体,執(zhí)行
# pod repo push [私有庫名] [.podspec文件名字]
$ pod repo push LGSpecs testClasses.podspec
該命令會(huì)提交.podspec
到本地私有庫,并自動(dòng)推送本地私有庫內(nèi)容到遠(yuǎn)程倉庫PrivatePodspecs硝烂,即倉庫1箕别。
5、驗(yàn)證成功與否
在命令行中執(zhí)行
pod search testClasses
得到搜索以下結(jié)果滞谢,恭喜你串稀,成功了!狮杨!
6母截、使用私有庫
在podfile文件中加入PrivatePodspecs地址,
source 'https://github.com/CocoaPods/Specs.git' #官方庫地址
source 'https://git.coding.net/ustbliugang/PrivatePodspecs.git' #私有庫地址
platform :ios, '8.0'
target 'myProject' do
pod 'IFMMenu' #官方庫里的源碼
pod 'testClasses' #私有庫里的源碼
end
執(zhí)行pod install橄教,發(fā)現(xiàn)testClasses中的代碼已經(jīng)拷貝至項(xiàng)目中
7微酬、移除Spec Repo倉庫
終端內(nèi)執(zhí)行以下命令,可移除不想繼續(xù)使用的私有庫
//移除私有Repo颤陶,name替換為私有庫名稱
# $pod repo remove [name]
$pod repo remove LGSpecs
電腦本地的 ~/.cocoapods/repos目錄中僅剩下master文件夾颗管,LGSpecs文件夾已經(jīng)移除。
8滓走、其他方法
其他教程中垦江,會(huì)有以下命令,比如文末的參考文章中
#pod lib create [項(xiàng)目名]
$pod lib create MyLib
該命令可以自動(dòng)幫你創(chuàng)建一個(gè)包含cocopods
的工程項(xiàng)目搅方,包含測試用例比吭,.podspec
文件等,我認(rèn)為較為復(fù)雜姨涡,按照本教程方法就很簡潔衩藤。
參考文章:
利用CocoaPods創(chuàng)建私有庫
CocoaPods私有庫管理
使用Cocoapods創(chuàng)建私有podspec
Cocoapods使用私有庫中遇到的坑