關(guān)于利用cocoapods創(chuàng)建私有庫的過程記錄

前言

項(xiàng)目大了或者多了之后都會(huì)遇到維護(hù)和編譯慢的一個(gè)問題鲁驶。組件化管理一些公用的內(nèi)容既方便開發(fā)也方便管理驼鞭。

網(wǎng)上私有庫創(chuàng)建的教程很多缨历,但是確實(shí)會(huì)遇到一些奇葩問題揪罕,特在此記錄一下我完整的創(chuàng)建到最終引用私有庫的全過程。

創(chuàng)建(私有庫github收費(fèi)锭硼,所以我使用https://gitee.com碼云)

1房资、創(chuàng)建私有索引庫


私有索引庫

復(fù)制創(chuàng)建好的庫的鏈接

# pod repo add [Private Repo Name] [git https url]??

?比如:$ pod repo add hrSpecs??https://gitee.com/HRChen/hrSpecs.git

此時(shí)會(huì)在~/.cocoapods/repos目錄下看到你的【Private Repo Name】的文件夾。

2檀头、創(chuàng)建私有代碼庫


私有代碼庫

此時(shí)利用pod 命令創(chuàng)建庫的模板

# pod lib create [projectName]

例如 $ pod lib create PrivateKit?

控制臺(tái)會(huì)先下載模板轰异,然后順序彈出選項(xiàng)讓你配置一些基本信息

GavindeMacBook-Pro:~ gavin$ pod lib create PrivateKit

Cloning `https://github.com/CocoaPods/pod-template.git` into `PrivateKit`.

Configuring PrivateKit template.

security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.

------------------------------

To get you started we need to ask a few questions, this should only take a minute.

If this is your first time we recommend running through with the guide:?

?-https://guides.cocoapods.org/making/using-pod-lib-create.html

?( hold cmd and double click links to open in a browser. )

What platform do you want to use?? [ iOS / macOS ]

?>?


What platform do you want to use?? [ iOS / macOS ]

?>ios

What language do you want to use?? [ Swift / ObjC ]

?>swift

Would you like to include a demo application with your library? [ Yes / No ]

?>yes

Which testing frameworks will you use? [ Quick / None ]

?>None

Would you like to do view based testing? [ Yes / No ]

?>no

根據(jù)需要填寫上面的問題。完成后悔自動(dòng)xcode打開PrivateKit的項(xiàng)目


PrivateKit的項(xiàng)目

到example 文件目錄下? 備注:只有此處是在example目錄下運(yùn)行暑始,其余的命令全部在項(xiàng)目根目錄Privatekit文件夾下運(yùn)行

$ pod install??

然后按照需求更改podspec 文件的各項(xiàng)答案(模板基本填寫搭独,只需要將一些鏈接更改成我們自己的鏈接,以及summary和description等)

更改完成后可以使用命令

$ pod lib lint 檢查是否有效

備注:可以使用另外后綴語法 過濾無關(guān)緊要的信息或者查看錯(cuò)誤的詳細(xì)信息廊镜,


后綴語法和用途

--private 可以過濾一些私有庫可以忽略的警告

--verbose 獲得更詳細(xì)的日志

等等...

(可能會(huì)遇到swift版本設(shè)置)下面可以解決

#?echo?"[version]"?> .swift-version

$ echo?"3.0"?> .swift-version

直到控制臺(tái)顯示

?PrivateKit passed validation.

將代碼推送到之前建立的PrivateKit的遠(yuǎn)程服務(wù)器上

$ git add .

$ git commit -s -m "XXX"

$ git remote add origin https://gitee.com/HRChen/PrivateKit.git#添加遠(yuǎn)端倉庫

$ git push origin master#提交到遠(yuǎn)端倉庫

$ git tag? 0.1.0? #打上標(biāo)簽牙肝,這個(gè)很重要

$ git push --tags#推送tag到遠(yuǎn)端倉庫

3、將私有庫PrivateKit的podspec關(guān)聯(lián)到hrSpecs索引庫上

# pod repo push [Repo名] [podspec 文件名字]

$ pod repo push hrSpecs PrivateKit.podspec

此時(shí)在~/.cocoapods/repos下的hrSpecs會(huì)有關(guān)于PrivateKit的索引信息以及hrSpecs遠(yuǎn)程服務(wù)器也會(huì)有代碼push上去

此時(shí)可以檢查遠(yuǎn)程服務(wù)器上的podspec 是否有效嗤朴。

$ pod spec lint?

輸出 PrivateKit?passed validation 為有效

此時(shí)庫的創(chuàng)建和關(guān)聯(lián)都完成配椭,使用下面命令可以查詢

?$ pod search PrivateKit


4、常見錯(cuò)誤

常規(guī)錯(cuò)誤提示會(huì)很明顯雹姊,我遇到一個(gè)比較奇葩的錯(cuò)誤股缸,

- ERROR | xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.

? ? - NOTE? | [iOS] xcodebuild:? xcodebuild: error: Unable to find a destination matching the provided destination specifier:

加上--verbose后

xcodebuild: error: Unable to find a destination matching the provided destination specifier: { id:CB895974-468D-4487-B7BA-362513792516 }

還有一個(gè)有效的模擬器列表,但是我xcode是支持這個(gè)模擬器(iphone 4s 8.1)的吱雏,而且也運(yùn)行了敦姻。

最后查出來,是之前取消過這個(gè)模擬器


以前取消過這里

就算重新勾上也沒用還是無效歧杏,包括重啟刪除緩存等等方法镰惦。

解決辦法:右鍵delete 這個(gè)模擬器重新添加一次。就ok了犬绒。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末旺入,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子凯力,更是在濱河造成了極大的恐慌茵瘾,老刑警劉巖急膀,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異龄捡,居然都是意外死亡卓嫂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門聘殖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晨雳,“玉大人,你說我怎么就攤上這事奸腺〔徒” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵突照,是天一觀的道長(zhǎng)帮非。 經(jīng)常有香客問我,道長(zhǎng)讹蘑,這世上最難降的妖魔是什么末盔? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮座慰,結(jié)果婚禮上陨舱,老公的妹妹穿的比我還像新娘。我一直安慰自己版仔,他們只是感情好游盲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蛮粮,像睡著了一般益缎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上然想,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天莺奔,我揣著相機(jī)與錄音,去河邊找鬼又沾。 笑死弊仪,一個(gè)胖子當(dāng)著我的面吹牛熙卡,可吹牛的內(nèi)容都是我干的杖刷。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼驳癌,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼滑燃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起颓鲜,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤表窘,失蹤者是張志新(化名)和其女友劉穎典予,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乐严,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瘤袖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了昂验。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捂敌。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖既琴,靈堂內(nèi)的尸體忽然破棺而出占婉,到底是詐尸還是另有隱情,我是刑警寧澤甫恩,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布逆济,位于F島的核電站,受9級(jí)特大地震影響磺箕,放射性物質(zhì)發(fā)生泄漏奖慌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一松靡、第九天 我趴在偏房一處隱蔽的房頂上張望升薯。 院中可真熱鬧,春花似錦击困、人聲如沸涎劈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛛枚。三九已至,卻和暖如春脸哀,著一層夾襖步出監(jiān)牢的瞬間蹦浦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工撞蜂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盲镶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓蝌诡,卻偏偏與公主長(zhǎng)得像溉贿,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子浦旱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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