前言
Cocoapods是非常好用的一個(gè)iOS依賴管理工具累驮,使用它可以方便的管理和更新項(xiàng)目中所使用到的第三方庫(kù)建炫,以及將自己的項(xiàng)目中的公共組件交由它去管理贷屎。
下面是結(jié)合GitHub來(lái)創(chuàng)建私有pods.
網(wǎng)上有很多資料,也寫得很好,自己整理了一下適合自己的思路.
要注意的就是如果項(xiàng)目中有其他同事共同開發(fā)的話贺氓,你還要給他這個(gè)Git倉(cāng)庫(kù)的權(quán)限叨襟。
準(zhǔn)備工作
作為一個(gè)iOS開發(fā),肯定環(huán)境是OK, 需要準(zhǔn)備好下面的環(huán)境:
- CocoaPods
- GitHub
- GitHub的兩個(gè)個(gè)私有庫(kù)地址(一個(gè)是用來(lái)podspec使用, 一個(gè)是用來(lái)存放源碼demo)
開始:
1.創(chuàng)建github私有倉(cāng)庫(kù)
2.創(chuàng)建私有Spec Repo
PrivatePodsSpecs名字一般都是和github上面的一致
# pod repo add [Private Repo Name] [GitHub HTTPS clone URL]
$ pod repo add PrivatePodsSpecs https://github.com/lxiaokai/PrivatePodsSpecs.git
如果成功的話進(jìn)入到~/.cocoapods/repos目錄下就可以看到PrivatePodsSpecs這個(gè)目錄了。
3.創(chuàng)建Pod項(xiàng)目工程文件(選擇一個(gè)自己的路徑文件夾)
$ pod lib create DemoPods
執(zhí)行命令的時(shí)候會(huì)問一些小問題,自行抉擇
完成之后會(huì)在會(huì)創(chuàng)建下面的文件內(nèi)容:
備注:Classes放lib讥巡,資源文件放到Assets這個(gè)文件夾掀亩。
然后我在classes里面建立一個(gè) "ViewController.swift"文件,并且上傳到github
$ git add .
$ git commit -s -m "Initial Commit of Library"
$ git remote add origin https://github.com/lxiaokai/DemoPods.git #添加遠(yuǎn)端倉(cāng)庫(kù)
$ git push origin master #提交到遠(yuǎn)端倉(cāng)庫(kù)
因?yàn)閜odspec文件中獲取Git版本控制的項(xiàng)目還需要tag號(hào),所以我們要打上一個(gè)tag欢顷,
$ git tag -m "first release" 0.1.0
$ git push --tags #推送tag到遠(yuǎn)端倉(cāng)庫(kù)
4.編輯DemoPods.podspec文件
字段說(shuō)明,僅供參考
s.name:名稱槽棍,pod search搜索的關(guān)鍵詞,注意這里一定要和.podspec的名稱一樣,否則報(bào)錯(cuò)
s.version:版本號(hào),to_s:返回一個(gè)字符串 就是我們項(xiàng)目中剛才打的tag
s.author:作者
s.homepage:項(xiàng)目主頁(yè)地址
s.summary: 項(xiàng)目簡(jiǎn)介
s.source:項(xiàng)目源碼所在地址
s.license:許可證
s.platform:項(xiàng)目支持平臺(tái)
s.requires_arc: 是否支持ARC
s.source_files:需要包含的源文件 這里最好放在spec的同級(jí)目錄抬驴,然后指定目錄下所有h和m文件
s.public_header_files:需要包含的頭文件
s.ios.deployment_target:支持的pod最低版本
其他一些非必要字段
s.social_media_url:社交網(wǎng)址
s.resources:資源文件
s.dependency:依賴庫(kù)炼七,不能依賴未發(fā)布的庫(kù)
編輯之后需要驗(yàn)證一下,查看是否有錯(cuò)誤信息,具體錯(cuò)誤會(huì)有提示,按照提示修改即可.
$ pod lib lint
雖然有警告,但是不影響
5.向Spec Repo提交podspec
向Spec Repo提交podspec需要完成兩點(diǎn)一個(gè)是podspec必須通過驗(yàn)證無(wú)誤,在一個(gè)就是刪掉無(wú)用的注釋(這個(gè)不是必須的布持,為了規(guī)范還是刪掉吧)豌拙。 向我們的私有Spec Repo提交podspec只需要一個(gè)命令
$ pod repo push PrivatePodsSpecs DemoPods.podspec --verbose --allow-warnings
前面的是podspecs, 后面的是需要上傳的名字(需要在DemoPods.podspec路徑下執(zhí)行)
錯(cuò)誤: 如果執(zhí)行這個(gè)命令的時(shí)候build success 但是 pull 失敗的時(shí)候,可以git上面建立一個(gè)readme文件或者建立倉(cāng)庫(kù)的時(shí)候勾選也可以
完成之后這個(gè)組件庫(kù)就添加到我們的私有Spec Repo中了,可以進(jìn)入到~/.cocoapods/repos/PrivatePodsSpecs目錄下查看, github上面也可以查看到
至此题暖,我們的這個(gè)組件庫(kù)就已經(jīng)制作添加完成了
6.測(cè)試使用
建立一個(gè)項(xiàng)目,pod一下就可以了