創(chuàng)建自己的cocoapods庫

一醒颖、創(chuàng)建自己的git賬號(hào)剿另,并將自己的電腦與指定github賬戶關(guān)聯(lián)。

二逛钻、創(chuàng)建本地倉庫

1.創(chuàng)建本地庫
打開終端僚焦,進(jìn)入要?jiǎng)?chuàng)建本地庫的文件夾,創(chuàng)建項(xiàng)目
cd 創(chuàng)建本地庫的文件夾路徑
pod lib create 項(xiàng)目名稱曙痘,根據(jù)自己需求定義就好
輸入完成后芳悲,終端會(huì)顯示下面幾個(gè)問題,根據(jù)實(shí)際情況選擇即可


創(chuàng)建本地庫

創(chuàng)建完成后會(huì)自動(dòng)打開創(chuàng)建的項(xiàng)目边坤,暫時(shí)不用管名扛。找到剛創(chuàng)建的項(xiàng)目并打開,目錄如下茧痒。如果沒有顯示那幾個(gè)灰色文件(.git)肮韧,說明你電腦沒有打開隱藏文件查看,用時(shí)按住command健旺订、Shift健和.健即可弄企。此時(shí)本地倉庫創(chuàng)建完成。


本地項(xiàng)目目錄

三区拳、將源碼導(dǎo)入項(xiàng)目

1.創(chuàng)建自己要使用的代碼拘领,打開一下項(xiàng)目在里面創(chuàng)建自己要使用的文件,然后寫上自己的要用于三方庫的代碼劳闹。
2.將代碼文件放到Classes文件下


源文件目錄

3.通過Xcode打開WSTestCocoa.podspec文件(WSTestCocoa為我創(chuàng)建的項(xiàng)目名稱),配置本地倉庫支持的CocoaPods文件洽瞬,如下:


依賴庫配置

四本涕、創(chuàng)建遠(yuǎn)端倉庫

1.創(chuàng)建庫
為了避免不必要麻煩,遠(yuǎn)端倉庫名稱和本地倉庫最好一致


創(chuàng)建遠(yuǎn)端倉庫

2.復(fù)制遠(yuǎn)端倉庫的地址


復(fù)制遠(yuǎn)端倉庫的地址

3.繼續(xù)配置.podspec文件
首先檢查下WSTestCocoa.podspec里面s.source的路徑和遠(yuǎn)端倉庫路徑是否一致伙窃,不一致改成遠(yuǎn)端倉庫路徑菩颖,讓后在終端cd 到Example文件目錄下執(zhí)行pod update --no-repo-update命令。


pod update

4.此時(shí)已經(jīng)添加完成
執(zhí)行vim Podfile命令
將下面這幾句代碼加在文件最下面为障。

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
    end
  end
end

執(zhí)行pod install命令

打開Example里面的測(cè)試demo晦闰,在demo里面就可以使用上面引入的三方庫了。


Example

5.驗(yàn)證一下.podspec文件
回到本地倉庫根目錄下面鳍怨,執(zhí)行pod lib lint命令呻右。
如果警告會(huì)執(zhí)行失敗,此時(shí)可以修改警告內(nèi)容鞋喇,也可以直接執(zhí)行pod lib lint --allow-warnings命令声滥,忽略警告。



看到顯示W(wǎng)STestCocoa passed validation就表示配置成功了侦香。

6.把依賴庫上傳到git并打上標(biāo)簽tag
先檢查下本地分支當(dāng)前git branch
如果本地分支和遠(yuǎn)程分支不一樣創(chuàng)建一個(gè)跟遠(yuǎn)程一樣的本地分支 git branch master
切換到新建的分支上git checkout master
跟git上不是一個(gè)分支也不影響使用落塑,切不切都行

回到本地倉庫根目錄下面纽疟,添加遠(yuǎn)端倉庫地址,執(zhí)行命令
git remote add origin 遠(yuǎn)端倉庫地址
把所有修改過的文件添加到緩存區(qū)
git add .
提交變動(dòng)記錄
git commit -m “代碼提交”

遵循先拉后傳原則憾赁,先拉取遠(yuǎn)程代碼污朽。
git pull
然后推送代碼到遠(yuǎn)端倉庫
git push
出現(xiàn)問題,不用管龙考,強(qiáng)制覆蓋蟆肆。
git push --force 遠(yuǎn)端倉庫地址



然后給依賴庫打tag標(biāo)簽,注意洲愤,這個(gè)標(biāo)簽的版本號(hào)一定要和WSTestCocoa.podspec中的s.version一致
git tag 0.1.0
將tag標(biāo)簽推送到遠(yuǎn)端倉庫颓芭,版本號(hào)同樣和WSTestCocoa.podspec文件中的s.version一致
git push origin 0.1.0



到這里,本地倉庫和遠(yuǎn)端倉庫都創(chuàng)建并且驗(yàn)證完成了柬赐,想要支持CocoaPods安裝亡问,還必須要一個(gè)管理倉庫,也叫索引庫肛宋。索引庫和倉庫一樣也是需要兩個(gè)州藕,一個(gè)本地的一個(gè)遠(yuǎn)端的。

五酝陈、創(chuàng)建遠(yuǎn)端索引庫

1.創(chuàng)建遠(yuǎn)端索引庫
創(chuàng)建遠(yuǎn)端索引庫的方式和創(chuàng)建遠(yuǎn)端倉庫的方式一樣床玻,如下:



2.復(fù)制遠(yuǎn)端倉庫的地址


六、創(chuàng)建本地索引庫

1.創(chuàng)建本地索引庫沉帮,回到要?jiǎng)?chuàng)建本地庫的文件夾執(zhí)行下面命令把遠(yuǎn)端索引庫和本地索引庫關(guān)聯(lián)起來锈死,強(qiáng)烈建議本地索引庫和遠(yuǎn)端索引庫使用一樣名稱,避免不必要的bug出現(xiàn)穆壕。
pod repo add 本地索引庫名字 遠(yuǎn)端索引庫的地址

創(chuàng)建成功終端顯示如下

2.驗(yàn)證是否創(chuàng)建成功
可以直接在終端輸入命令查看創(chuàng)建結(jié)果待牵,終端命令如下:

pod repo


3.綁定WSTestCocoa.podspec文件到遠(yuǎn)端索引庫
需要把WSTestCocoa.podspec文件推送到遠(yuǎn)端索引庫進(jìn)行綁定操作,終端需要回到本地倉庫所在的目錄下喇勋,再執(zhí)行命令缨该,終端命令如下:
pod repo push 索引庫名字 本地倉庫名字.podspec
出現(xiàn)下圖表示成功:


七、發(fā)布到Cocoapods官方庫中

回到本地依賴庫根目錄川背,先查看是否注冊(cè)過pod賬號(hào)贰拿。如果沒有注冊(cè),注冊(cè)一下熄云,注冊(cè)命令
pod trunk register 郵箱地址 '名稱'



執(zhí)行成功后膨更,回發(fā)送一份郵件到郵箱,此時(shí)登陸郵箱點(diǎn)擊郵件中鏈接即可注冊(cè)成功缴允。
然后把WSTestCocoa.podspec提交到官方Spec Repo倉庫询一,命令如下:
pod trunk push WSTestCocoa.podspec --allow-warnings
出現(xiàn)下圖,則表示成功了


此時(shí)執(zhí)行pod search WSTestCocoa命令就可以搜索到了,如果搜索不到健蕊,等待一會(huì)菱阵,可能會(huì)有延遲

八、使用

跟使用其他三方庫一樣缩功,vim Podfile晴及,然后將pod 'WSTestCocoa', '~> 0.1.0' 添加進(jìn)去 pod install,如果報(bào)錯(cuò)嫡锌,執(zhí)行pod repo update或者pod repo update --verbose命令更新下虑稼。
此時(shí)就可以在項(xiàng)目中使用這個(gè)三方庫了。

九势木、更新

更新就是重新走一遍上傳新代碼蛛倦、打標(biāo)簽癌幕、上傳標(biāo)簽后专、綁定遠(yuǎn)端索引庫、發(fā)布圃郊,其中謹(jǐn)記修改version甫男。
git pull
git add .
git commit -m "0.2.0"
git push
git push --force https://github.com/sun0618/WSTestCocoa.git
git tag 0.2.0
git push origin 0.2.0
pod repo push WSTestCocoaSpec WSTestCocoa.podspec
pod trunk push WSTestCocoa.podspec --allow-warnings

十且改、gitee

如果使用gitee倉庫進(jìn)行管理,需要進(jìn)行下列修改
1板驳、創(chuàng)建github倉庫改成創(chuàng)建gitee倉庫(里面相關(guān)的github倉庫地址全部替換成gitee倉庫地址)
2又跛、使用的時(shí)候?qū)itee倉庫地址添加到Podfile文件里面



3、pod install如果報(bào)下面的錯(cuò)誤若治,找到/Users/yang.sun/.cocoapods/repos/gitee-winsafe_app-wsregister/WSRegister文件夾慨蓝,刪除里面的Assets和Classes文件。如果不行先pod repo update在試試端幼。(有網(wǎng)友說在最初創(chuàng)建的時(shí)候礼烈,新建一個(gè)Sources文件夾,將代碼放在這里面就沒有問題了静暂,未測(cè)試)济丘。


十一谱秽、添加圖片

如果庫要用到圖片洽蛀,對(duì)圖片的使用方法跟正常情況下不同。
1疟赊、將圖片命好名后添加到Assets文件夾里面(跟Classes文件夾同一目錄層級(jí))郊供。


2、修改WSRegister.podspec文件里面s.resource_bundles如下近哟。


3驮审、在使用的地方用NSBundle獲取。


4、盡管在當(dāng)前項(xiàng)目里面圖片會(huì)跟class文件顯示在同一目錄層級(jí)下面疯淫,但是集成到其他項(xiàng)目后地来,圖片會(huì)自動(dòng)歸類到Resources文件夾下面。

十二熙掺、本地電腦和gitee綁定未斑。

如果往gitee上傳代碼的時(shí)候需要用戶名和密碼,需要注意用戶名是你注冊(cè)的手機(jī)號(hào)或者郵箱币绩,密碼是token蜡秽。

十三、swift

用swift創(chuàng)建的時(shí)候需要注意
1缆镣、swift引用是引用文件名而不是類名
2芽突、要使用的類或者方法需要加上open或者public。

十四董瞻、在里面引用其他三方庫

在WSNetworkManagerswift.podspec 添加下面語句就OK寞蚌,Alamofire要引用的三方庫名稱,5.6.2要引用的三方庫版本號(hào)
s.dependency 'Alamofire', '~> 5.6.2'

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末力细,一起剝皮案震驚了整個(gè)濱河市睬澡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌眠蚂,老刑警劉巖煞聪,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異逝慧,居然都是意外死亡昔脯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門笛臣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來云稚,“玉大人,你說我怎么就攤上這事沈堡【渤拢” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵诞丽,是天一觀的道長鲸拥。 經(jīng)常有香客問我,道長僧免,這世上最難降的妖魔是什么刑赶? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮懂衩,結(jié)果婚禮上撞叨,老公的妹妹穿的比我還像新娘金踪。我一直安慰自己,他們只是感情好牵敷,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布胡岔。 她就那樣靜靜地躺著,像睡著了一般枷餐。 火紅的嫁衣襯著肌膚如雪姐军。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天尖淘,我揣著相機(jī)與錄音奕锌,去河邊找鬼。 笑死村生,一個(gè)胖子當(dāng)著我的面吹牛惊暴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播趁桃,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼辽话,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了卫病?” 一聲冷哼從身側(cè)響起油啤,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蟀苛,沒想到半個(gè)月后益咬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡帜平,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年幽告,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裆甩。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡冗锁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嗤栓,到底是詐尸還是另有隱情冻河,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布茉帅,位于F島的核電站叨叙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏担敌。R本人自食惡果不足惜摔敛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一廷蓉、第九天 我趴在偏房一處隱蔽的房頂上張望全封。 院中可真熱鬧马昙,春花似錦、人聲如沸刹悴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽土匀。三九已至子房,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間就轧,已是汗流浹背证杭。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妒御,地道東北人解愤。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像乎莉,于是被迫代替她去往敵國和親送讲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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