【轉(zhuǎn)】iOS:最詳細(xì)的創(chuàng)建CocoaPods私有庫教程

轉(zhuǎn)自:http://www.cnblogs.com/XYQ-208910/p/6214066.html
一试和、感慨
說實(shí)話,創(chuàng)建這個(gè)CocoaPods私有庫纫普,我愣是搞了兩個(gè)星期阅悍,創(chuàng)建的過程中,自己的感情波動(dòng)是這樣的:激情四射---->有點(diǎn)困惑----->極度困惑----->有點(diǎn)失望----->非常失望----->想放棄了----->放棄了----->不甘心,一個(gè)星期后又倒騰起來了----->還是失望----->向朋友求助----->問題解決昨稼,遲來的興奮---->成功了节视,急切的想給大家分享成果〖偎ǎ可以說寻行,這個(gè)過程真是一波三折,遇到的各種坑讓我百感交集但指。還好寡痰,我最終堅(jiān)持到底,成功了棋凳,在此感謝我的好朋友@Kakarotto-卡卡羅特,下面我就給大家分享一下教程连躏。

二剩岳、說說遇到的坑:
1、本地的私有倉庫驗(yàn)證通過入热,但是遠(yuǎn)程倉庫上的私有倉庫驗(yàn)證不通過拍棕,路經(jīng)不對,報(bào)Error[iOS] file patterns: The source_files pattern did not match any錯(cuò)誤

解決辦法:重新打開xxx.podspec文件編輯一下勺良,確定共享文件路徑?jīng)]有錯(cuò)誤绰播,然后再上傳到github上驗(yàn)證。

source_files文件格式有幾種設(shè)置方法:

s.source_files = 'Classes/.{h,m}'
s.source_files = 'Classes/publicClass.{h,m}'
s.source_files = 'Classes'
s.source_files = 'Classes/
/.{h,m}'
2尚困、上傳xxx.podspec到github和給xxx.podspec打tag順序搞反了蠢箩,驗(yàn)證不通過

解決辦法:必須先將本地文件夾所有的文件上傳到github上,然后再給xxx.podspec打上tag事甜,打tag方式也有兩種方法:

命令行方式:

git tag -m "注釋" 1.0.0
git push --tags
直接在github上點(diǎn)擊release進(jìn)入創(chuàng)建tag:

791499-20161223103951526-1141007884.png

3谬泌、xxx.podsepc、LICENSE逻谦、Demo掌实、pulcicLib它們幾個(gè)沒有放在同一層級上,驗(yàn)證不通過

解決辦法:將他們放到同一個(gè)文件夾的同一個(gè)層級上邦马,例如

791499-20161223104637573-758494044.png

4贱鼻、最后所有的驗(yàn)證都通過了也上傳成功了宴卖,結(jié)果使用pod search仍然搜索不到,是因?yàn)閟earch_index.json文件重復(fù)了邻悬,需要先刪除再搜索

解決辦法(此處是在成功安裝CocoaPods嘱腥,但不能pod search搜素類庫的情況下探討問題):

 4.1 執(zhí)行pod setup

其實(shí)在你安裝CocoaPods執(zhí)行pod install時(shí),系統(tǒng)會默認(rèn)操作pod setup拘悦,然而由于中國強(qiáng)大的墻可能會pod setup不成功齿兔。這時(shí)就需要手動(dòng)執(zhí)行pod setup指令,如下:
終端輸入:pod setup
會出現(xiàn)Setting up CocoaPods master repo 础米,稍等幾十秒分苇,最底下會輸出setup completed。說明執(zhí)行pod setup成功屁桑。
如果pod search操作還是搜索失敗医寿,如下:
終端輸入:pod search AFNetworking
輸出:Unable to find a pod with name,author,summary,or descriptionmastching 'AFNetworking' 這時(shí)就需要繼續(xù)下面的步驟了。
4.2 刪除~/Library/Caches/CocoaPods目錄下的search_index.json文件

pod setup成功后蘑斧,依然不能pod search靖秩,是因?yàn)橹澳銏?zhí)行pod search生成了search_index.json,此時(shí)需要?jiǎng)h掉竖瘾。
終端輸入:rm ~/Library/Caches/CocoaPods/search_index.json
刪除成功后沟突,再執(zhí)行pod search。
4.3 執(zhí)行pod search

終端輸入:pod search sfneteorking (不區(qū)分大小寫)
輸出:Create search index for spec repo 'master'..Deno!捕传,稍等片刻······就會出現(xiàn)所有帶有afnetworking字段的類庫惠拭。
5、驗(yàn)證私有倉庫時(shí)如果出現(xiàn)gcc編譯錯(cuò)誤:[-Werror, -Wnon-modular-include-in-framework-module].造成xcode build failed

解決辦法是加參數(shù):--use-libraries

$ pod lib lint xxx.podspec --use-libraries
$ pod spec lint xxx.podspec --use-libraries
$ pod trunk push --use-libraries
提示:最后提一個(gè)小策略庸论,如果驗(yàn)證時(shí)報(bào)錯(cuò)了职辅,可以在驗(yàn)證時(shí)加上后綴--verbose來查看錯(cuò)誤的具體位置

三、簡述大致流程
在github上創(chuàng)建項(xiàng)目聂示,復(fù)制項(xiàng)目的鏈接路徑域携,例如:https://github.com/xiayuanquan/XYQCocoaPods.git;
使用命令行或者sourceTree將項(xiàng)目克隆到本地新建的一個(gè)文件夾中;
cd進(jìn)入本地該文件夾,將自己之前的工程文件(demo)以及共享文件(共享庫Lib)拖入其中鱼喉,并創(chuàng)建私有倉庫秀鞭,例如:pod spec create cocoaPodsName;
編輯私有倉庫信息(使用文本編輯器或者sublime等)
編輯結(jié)束保存,并驗(yàn)證本地的私有倉庫是否有效(—allow-warnings可以消除警告)例如:pod lib lint cocoaPodsName.podspec —allow-warnings蒲凶;
驗(yàn)證有效后气筋,然后再將本地該文件夾中所有的文件push到github上
使用git tag(此方法操作后再push上傳一次)或者直接在github上點(diǎn)擊release進(jìn)入后創(chuàng)建release并給私有倉庫打上tag
注冊trunk,例如:pod trunk register 郵箱 ‘用戶名’ —descripttion=‘描述’旋圆,注意:郵箱為github上的登錄郵箱宠默、用戶名為github上的用戶名
接收發(fā)送到郵箱的鏈接,點(diǎn)擊進(jìn)入后注冊成功
查看注冊的個(gè)人信息灵巧,例如:pod trunk me
驗(yàn)證上傳到github上的私有倉庫是否有效(—allow-warnings可以消除警告搀矫,例如:pod spec lint cocoaPodsName.podspec —allow-warnings
將私有倉庫推送到CocoaPods上抹沪,例如:pod trunk push cocoaPodsName.podspec
使用pod search cocoaPodsName搜索即可

四、詳細(xì)步驟流程如下:
(1)在github上創(chuàng)建項(xiàng)目瓤球,復(fù)制項(xiàng)目的鏈接路徑融欧,例如:https://github.com/xiayuanquan/XYQCocoaPods.git;
![Uploading 791499-20161223105325245-1157266931_517404.png . . .]
(2)使用命令行或者sourceTree將項(xiàng)目克隆到本地新建的一個(gè)文件夾中;

791499-20161223105453167-507650403.png
791499-20161223105533636-576132103.png

(3)cd進(jìn)入本地該文件夾,將自己之前的工程文件(demo)以及共享文件(共享庫Lib)拖入其中卦羡,并創(chuàng)建私有倉庫噪馏,例如:pod spec create cocoaPodsName;

791499-20161223105611589-1942059256.png

注意:下面說的是盡量都保持一樣,其實(shí)绿饵,此處私有庫名稱必須和共享文件夾名稱一樣欠肾,而和github項(xiàng)目名一不一樣,要求不那么嚴(yán)格

791499-20161223105716964-1211886217.png

(4)編輯私有倉庫信息(使用文本編輯器或者sublime等,注意:引號不能搞錯(cuò)了拟赊,是英文格式的"",不是中文格式“”)

791499-20161223105821557-1687036411.png

(5)編輯結(jié)束保存刺桃,并驗(yàn)證本地的私有倉庫是否有效(—allow-warnings可以消除警告)例如:pod lib lint cocoaPodsName.podspec —allow-warnings;

791499-20161223105915807-283899940.png

(6)驗(yàn)證有效后吸祟,然后再將本地該文件夾中所有的文件push到github上

791499-20161223110305823-1118604672.png

(7)使用git tag(此方法操作后再push上傳一次)或者直接在github上點(diǎn)擊release進(jìn)入后創(chuàng)建release并給私有倉庫打上tag

791499-20161223110420432-2110612782.png
791499-20161223110543995-1009159833.png
791499-20161223110608589-316911985.png

(8)注冊trunk瑟慈,例如:pod trunk register 郵箱 ‘用戶名’ —descripttion=‘描述’,注意:郵箱為github上的登錄郵箱屋匕、用戶名為github上的用戶名

![Uploading 791499-20161223110513151-1037094054-3_258257.png . . .]
(9)接收發(fā)送到郵箱的鏈接葛碧,點(diǎn)擊進(jìn)入后注冊成功

791499-20161223110724542-1934033210.png

(10)查看注冊的個(gè)人信息,例如:pod trunk me

791499-20161223110746604-1224144306.png

(11)驗(yàn)證上傳到github上的私有倉庫是否有效(—allow-warnings可以消除警告炒瘟,例如:pod spec lint cocoaPodsName.podspec —allow-warnings

791499-20161223110813901-1709063508.png

(12)將私有倉庫推送到CocoaPods上吹埠,此處時(shí)間會久一點(diǎn),請耐心等待疮装,例如:pod trunk push cocoaPodsName.podspec

791499-20161223110838979-2049955987.png

(13)使用pod search cocoaPodsName搜索即可

791499-20161223110900557-376339341.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市粘都,隨后出現(xiàn)的幾起案子廓推,更是在濱河造成了極大的恐慌,老刑警劉巖翩隧,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件樊展,死亡現(xiàn)場離奇詭異,居然都是意外死亡堆生,警方通過查閱死者的電腦和手機(jī)专缠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來淑仆,“玉大人涝婉,你說我怎么就攤上這事≌岬。” “怎么了墩弯?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵吩跋,是天一觀的道長。 經(jīng)常有香客問我渔工,道長锌钮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任引矩,我火速辦了婚禮梁丘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘旺韭。我一直安慰自己氛谜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布茂翔。 她就那樣靜靜地躺著混蔼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪珊燎。 梳的紋絲不亂的頭發(fā)上惭嚣,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音悔政,去河邊找鬼晚吞。 笑死,一個(gè)胖子當(dāng)著我的面吹牛谋国,可吹牛的內(nèi)容都是我干的槽地。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼芦瘾,長吁一口氣:“原來是場噩夢啊……” “哼捌蚊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起近弟,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤缅糟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后祷愉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窗宦,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年二鳄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了赴涵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡订讼,死狀恐怖髓窜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情躯嫉,我是刑警寧澤纱烘,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布杨拐,位于F島的核電站,受9級特大地震影響擂啥,放射性物質(zhì)發(fā)生泄漏哄陶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一哺壶、第九天 我趴在偏房一處隱蔽的房頂上張望屋吨。 院中可真熱鬧,春花似錦山宾、人聲如沸至扰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敢课。三九已至,卻和暖如春绷杜,著一層夾襖步出監(jiān)牢的瞬間直秆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工鞭盟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留圾结,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓齿诉,卻偏偏與公主長得像筝野,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子粤剧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

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