Podspec 制作
- Podspec創(chuàng)建
打開終端,cd到指定位置,執(zhí)行以下命令
pod lib create MyTest
- Podspec修改
Pod::Spec.new do |s|
s.name = 'MyTest'
s.version = '1.0.0'
s.summary = 'My Pod Test'
s.homepage = 'https://github.com/xxx/MyTest'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { '姓名' => '郵箱' }
s.source = { :git => 'https://github.com/xxx/MyTest.git', :tag => s.version.to_s }
s.ios.deployment_target = '9.0'
s.source_files = 'MyTest/*.{h,m}'
end
注意s.source_files
選項(xiàng),為根目錄下MyTest
文件下的所有.h
和.m
文件。
- Podspec驗(yàn)證
pod lib lint
正常情況下,驗(yàn)證是通過的 MyTest passed validation.
如果驗(yàn)證出錯拨匆,需根據(jù)錯誤提示進(jìn)行處理。
對于警告挽拂,可添加--allow-warnings
進(jìn)行忽略
pod lib lint --allow-warnings
- 代碼上傳
添加倉庫地址
以上操作后惭每,我們需要將我們的代碼上傳到遠(yuǎn)程倉庫。
若是新建倉庫亏栈,個人建議建立一個空的倉庫
台腥,即使是README.md也不需要
。然后在整個工程的根目錄下绒北,執(zhí)行操作
git remote add origin xxx.xxx.git
如果報錯黎侈,可先
git remote rm origin
git push -u origin master
也就是把遠(yuǎn)程倉庫地址添加到工程里,這樣我們就可以進(jìn)行代碼的提交闷游。
若是已有倉庫峻汉,或者是倉庫有文件。個人建議先將此倉庫克隆下來脐往,然后把我們用pod創(chuàng)建的工程整個拖進(jìn)去休吠,這樣我們就可以進(jìn)行代碼提交了。
添加tag
git add -A && git commit -m "Release 1.0.0"
git tag 1.0.0
git push --tags
需要注意的是业簿,這個tag需要與podspec里的version號一致
瘤礁,否則在提交podspec到pod遠(yuǎn)程倉庫的時候會出錯。
推送到遠(yuǎn)程
git push origin master
至此梅尤,所有的文件都應(yīng)該是上傳到遠(yuǎn)程代碼倉庫了柜思,我們可以查看自己的遠(yuǎn)程倉庫岩调,看是否有提交記錄。
Podspec提交公有倉庫
公有倉庫說明
此處的公有倉庫赡盘,指的是cocoapods官方的倉庫誊辉。用于存放用戶提交的podspec文件,以便于所有用戶使用pod拉取第三方代碼亡脑。
- 注冊設(shè)備
在向cocoapods遠(yuǎn)程倉庫提交自己的podspec,需要進(jìn)行設(shè)備注冊(認(rèn)證)邀跃。
pod trunk register xxx@xxx.com 'my name' --description='my macbook air'
然后查看自己的郵件霉咨,復(fù)制郵件中的鏈接,用瀏覽器打開即可拍屑。(此操作可能出現(xiàn)失敗途戒,需良好的網(wǎng)絡(luò)環(huán)境)
- 提交.podspec
pod trunk push MyTest.podspec
注意命令執(zhí)行的目錄,需要項(xiàng)目根目錄執(zhí)行僵驰。
正常情況下喷斋,會提示你提交成功,然后就可以用pod搜索自己的庫了蒜茴。例如 $ pod search MyTest
星爪,就可以搜索到我剛才提交的MyTest的pod資源了。
對于警告粉私,可添加--allow-warnings
進(jìn)行忽略
如果搜索不到顽腾,可能需要刪除索引文件了。
rm ~/Library/Caches/CocoaPods/search_index.json
然后再次執(zhí)行 pod search
诺核。
Podspec提交私有倉庫
私有倉庫說明
此處的私有倉庫抄肖,指的是個人或者公司使用而不讓其他人使用的倉庫。與公有倉庫類似窖杀,用于存放用戶提交的podspec文件漓摩,以便于私有用戶使用pod拉取自己的代碼。
- 私有倉庫創(chuàng)建
此創(chuàng)建與普通git倉庫創(chuàng)建類似入客,最好使用README.md初始化管毙,順便補(bǔ)充README.md文件信息。
- 私有倉庫本地安裝
pod repo add MyRepo xxx.xxx.git
在本地安裝一個名叫 MyRepo
的私有倉庫痊项, xxx.xxx.git
為私有倉庫地址锅风。
- 查看本地私有倉庫
cd ~/.cocoapods/repos
ls
- 驗(yàn)證.podspec
pod lib lint --private
私有庫的驗(yàn)證,需要添加--private
鞍泉。
如果有警告皱埠,可添加--allow-warnings
進(jìn)行忽略
pod lib lint --private --allow-warnings
需要注意的是,在提交 .podspec
前咖驮,同樣需要修改 .podspec
文件边器,驗(yàn)證训枢、打tag、源碼提交
- 提交.podspec
pod repo push MyRepo MyTest.podspec
向私有庫 MyRepo
提交 MyTest.podspec
文件忘巧。
如果有警告恒界,添加--allow-warnings
進(jìn)行忽略。
- 私有庫引用
source ‘xxx.xxx.com/MyRepo.git’
source ‘https://github.com/CocoaPods/Specs.git’
- 私有庫卸載
pod repo remove MyRepo
其它用法
- 指定git使用
pod 'MyTest', :git => 'https://github.com/xxx/MyTest.git', :tag => '1.0.0'
制作的pod無需上傳到公共或私有庫砚嘴,只需上傳到git十酣,即可使用。
- 指定path使用
pod 'MyTest', :path => './MyTest'
制作的pod放在本地际长,即可使用兄朋。路徑可拖動制作好的私有庫到終端
尿庐,或顯示簡介
拷貝位置局骤。
信息補(bǔ)充
關(guān)于私有倉庫:
私有倉庫只是用來存放私有的podspec鹃愤,不存放代碼∪绯瘢可為外網(wǎng)git嘱朽,也可為內(nèi)網(wǎng)git≌樱總而言之搪泳,只是podspec的倉庫。
關(guān)于代碼倉庫:
代碼倉庫用來存放自己的源代碼的git扼脐,可為外網(wǎng)git森书,也可為內(nèi)網(wǎng)git』咽疲總而言之凛膏,只是代碼的倉庫。
一個私有庫脏榆,可以存放n多個podspec文件猖毫,管理著n多個私有pod。
私有倉庫可以隨意刪除须喂,但不會影響到代碼倉庫吁断。私有倉庫不要加入代碼,因?yàn)榧恿艘矝]有任何作用坞生。
私有庫與公有庫基本一樣仔役,只是一個是官方的git,一個是自己的git是己。私有庫需安裝又兵,podspec驗(yàn)證需加上說明,使用的時候需引入。