創(chuàng)建 CocoaPods 私有庫(kù)

一迈窟、創(chuàng)建私有庫(kù)

1.創(chuàng)建 github 倉(cāng)庫(kù)
屏幕快照 2017-03-30 下午10.45.49.png
2.創(chuàng)建私有 Spec Repo

先來(lái)說(shuō)第一步睁枕,什么是 Spec Repo ?他是所有的Pods的一個(gè)索引艘蹋,就是一個(gè)容器锄贼,所有公開(kāi)的 Pods 都在這個(gè)里面,他實(shí)際是一個(gè) Git 倉(cāng)庫(kù) remote 端在 GitHub 上女阀,但是當(dāng)你使用了 Cocoapods 后他會(huì)被clone到本地的 ~/.cocoapods/repos 目錄下宅荤,可以進(jìn)入到這個(gè)目錄看到官方的 Spec Repo , 即 master 文件夾

3.創(chuàng)建 iOS Cocoapods 工程項(xiàng)目

如果已有工程文件可需要自行創(chuàng)建 .podspec 文件,并進(jìn)行編輯(操作應(yīng)該和創(chuàng)建新的工程差不多浸策,我還沒(méi)研究 _)冯键。建議用下邊的方法創(chuàng)建新的工程項(xiàng)目,因?yàn)樗鼮槲覀儎?chuàng)建了的榛,依賴(lài)文件琼了,會(huì)少走很多坑(如果你感覺(jué)自己很diao,當(dāng)我沒(méi)說(shuō))

執(zhí)行如下命令夫晌,即可創(chuàng)建

pod lib create KYSIOSShared

創(chuàng)建項(xiàng)目

其中5個(gè)問(wèn)題分別為:工程語(yǔ)言 | 是否需要Demo | 測(cè)試框架 | 是否需要view測(cè)試 | 工程前綴

4. 配置.podspec文件

庫(kù)文件添加完成后,我們需要配置 .podspec 文件 昧诱,如何配置請(qǐng) Baidu Google

.podspec文件
5. 執(zhí)行 pod update

當(dāng)你向 Pod 添加了新文件或更新 .podspec 的版本都需要進(jìn)入 Example 目錄晓淀,執(zhí)行 pod update 更新一下工程,執(zhí)行完它盏档,Pod/Classes中目錄的文件會(huì)自動(dòng)添加到工程中

6. 驗(yàn)證 .podspec 配置文件

在工程目錄下執(zhí)行如下命令

pod lib lint
驗(yàn)證成功
7. 添加到遠(yuǎn)端倉(cāng)庫(kù)

通過(guò) Cocoapods 創(chuàng)建的項(xiàng)目凶掰,就是用 git 管理的。接下來(lái)我們需要將項(xiàng)目推到我們的私有倉(cāng)庫(kù)

執(zhí)行如下命令

git add .
git commit -s -m "first push"
git remote add origin https://github.com/jackkang0401/KYSIOSShared.git           
git push origin master  

8. 添加版本控制的項(xiàng)目 tag 號(hào)

執(zhí)行如下命令

git tag -m "first tag" 0.1.0
git push --tags

9. 本地測(cè)試 .podspec 文件
① 配置 Podfile 文件
Podfile
② 執(zhí)行 pod install
安裝成功
10. 提交私有倉(cāng)庫(kù)
① 執(zhí)行如下命令

KYSIOSShared(本地repo名稱(chēng))蜈亩,KYSIOSShared.podspec(配置文件路徑)

pod repo push KYSIOSShared KYSIOSShared.podspec

② 測(cè)試私有庫(kù)是否創(chuàng)建成功
配置Podfile
安裝成功
測(cè)試項(xiàng)目目錄
③ 注意事項(xiàng)

執(zhí)行 pod install 可能會(huì)遇到如下問(wèn)題懦窘,我的解決方案是刪除 Assets 與 Classes 目錄,庫(kù)文件移到其他目錄(我換成功了Example/Pod/KYSObjCShared/)稚配,并配置 .podspec 文件畅涂。修改完成后需要進(jìn)入Example/目錄 重新執(zhí)行 pod update,重走一遍流程

Analyzing dependencies
[!] An unexpected version directory `Assets` was encountered for the `...` Pod in the `...` repository.
修改配置文件
更改完的項(xiàng)目的目錄結(jié)構(gòu)

二道川、 版本升級(jí)

1. 添加新的庫(kù)文件午衰,修改 .podspec 配置文件

創(chuàng)建 KYSPodUpdateVersion 文件
修改配置文件

2. 進(jìn)入Example目錄,執(zhí)行 pod update

更新成功

3.驗(yàn)證 .podspec 配置文件

執(zhí)行如下命令

pod lib lint

驗(yàn)證通過(guò)

4. 提交到遠(yuǎn)端倉(cāng)庫(kù)

執(zhí)行如下命令

git add .
git commit -m "update version 0.1.1"
git pull origin master
git push origin master

5.添加新的 tag 號(hào)

執(zhí)行如下命令

git tag -m "first tag" 0.1.1
git push --tags

  • 注意:如果擔(dān)心出問(wèn)題最好先進(jìn)行一下本地驗(yàn)證

6.更新私有倉(cāng)庫(kù)

① 執(zhí)行如下命令
pod repo push KYSIOSShared KYSIOSShared.podspec

更新成功
② 進(jìn)入之前的測(cè)試項(xiàng)目執(zhí)行 pod update 命令
KYSPodUpdateVersion文件已加入 ^_^

三冒萄、添加子模塊

過(guò)程和版本升級(jí)是一樣的臊岸,就是配置 .podspec 文件稍微復(fù)雜一點(diǎn)

① 私有庫(kù)目錄結(jié)構(gòu)
子模塊目錄結(jié)構(gòu)
② .podspec 配置文件
.podspec 配置文件
# subspec之間也可以相互依賴(lài)
# KYSIOSShared為父?jìng)}庫(kù)名,KYSSubspec1為子倉(cāng)庫(kù)名稱(chēng)
s2.dependency 'KYSIOSShared/KYSSubspec1'
③ 執(zhí)行 pod update
更新結(jié)果

四尊流、總結(jié)

從零了解到私有庫(kù)創(chuàng)建成功帅戒,用了大約3天的時(shí)間。這期間也入了跟多坑崖技,也查閱了很多資料逻住,覺(jué)得下邊的兩個(gè)鏈接學(xué)的相對(duì)好一些钟哥,可以參考一下。在這里遇到的最大的一個(gè)坑就是前邊說(shuō)道的關(guān)于 Assets鄙信、Classes 目錄的問(wèn)題瞪醋,卡了大約1天多,最后換了庫(kù)文件的路徑才得到解決装诡,如果大家有更好的方案或是文章哪里不對(duì)银受,歡迎您的留言 *_^

五、參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鸦采,一起剝皮案震驚了整個(gè)濱河市宾巍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌渔伯,老刑警劉巖顶霞,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異锣吼,居然都是意外死亡选浑,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)玄叠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)古徒,“玉大人,你說(shuō)我怎么就攤上這事读恃∷肀欤” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵寺惫,是天一觀的道長(zhǎng)疹吃。 經(jīng)常有香客問(wèn)我,道長(zhǎng)西雀,這世上最難降的妖魔是什么萨驶? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮蒋搜,結(jié)果婚禮上篡撵,老公的妹妹穿的比我還像新娘。我一直安慰自己豆挽,他們只是感情好育谬,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著帮哈,像睡著了一般膛檀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天咖刃,我揣著相機(jī)與錄音泳炉,去河邊找鬼。 笑死嚎杨,一個(gè)胖子當(dāng)著我的面吹牛花鹅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播枫浙,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼箩帚!你這毒婦竟也來(lái)了真友?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤紧帕,失蹤者是張志新(化名)和其女友劉穎盔然,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體是嗜,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡愈案,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鹅搪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刻帚。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖涩嚣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情掂僵,我是刑警寧澤航厚,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站锰蓬,受9級(jí)特大地震影響幔睬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芹扭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一麻顶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧舱卡,春花似錦辅肾、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春新娜,著一層夾襖步出監(jiān)牢的瞬間赵辕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工概龄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留还惠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓私杜,卻偏偏與公主長(zhǎng)得像蚕键,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子歪今,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容