終于有時(shí)間寫篇文章了,其實(shí)主要是自己記錄一下,免得以后忘了每次都Google有點(diǎn)麻煩
- 首先你得有一個(gè)GitHub賬號(hào),如果沒有可以點(diǎn)這里去注冊(cè)
- 還有電腦cocoapod這個(gè)是必不可少的了吧,如果你還是沒有,可以點(diǎn)這里去配置
- 最后你還需要一個(gè)sourceTree,如果還是沒有,點(diǎn)這里去下載
- 既然所有東西都準(zhǔn)備好了,那就把你準(zhǔn)備上傳的東西準(zhǔn)備好,接下來開始上傳
先進(jìn)到你的GitHub賬號(hào),選擇new repository,會(huì)進(jìn)入到以下界面

很多教程都叫把這里勾上,但是不勾上會(huì)方便很多,至于為什么,下面在揭曉
這樣就創(chuàng)建好了,現(xiàn)在的倉(cāng)庫還是空空如也
創(chuàng)建好了倉(cāng)庫之后就先不管它了,我們先去配置好項(xiàng)目再說
- 打開終端,cd到你想要把項(xiàng)目存放的目錄下面(以下直接說develop)
- 輸入 pod lib create 你的項(xiàng)目名(創(chuàng)建倉(cāng)庫時(shí)候填的name,下面直接寫CMPushNotificationService)
- 然后就會(huì)出來下面的那些選項(xiàng),用來干什么的都注釋了一下
-
第四個(gè)和第五個(gè)相當(dāng)于你創(chuàng)建項(xiàng)目是問你是否需要Unit Tests和UI Test,如果你第三個(gè)是否創(chuàng)建Example選擇NO就不用管啦
3.png -
填寫完之后回車,會(huì)提示你完成了,這時(shí)候你就會(huì)發(fā)現(xiàn)在develop文件夾里多了個(gè)文件,這行代碼自動(dòng)幫你創(chuàng)建好了Example(cocoapod)和LICENSE、README和podspec,所以之前創(chuàng)建倉(cāng)庫的時(shí)候不要在倉(cāng)庫里面創(chuàng)建,以免之后上傳的時(shí)候還要解決沖突,當(dāng)然如果你不閑麻煩也是可以的
4.1.png
這個(gè)時(shí)候打開Example里面的Profile,它已經(jīng)將Example路徑改為本地的了

這個(gè)時(shí)候你需要做的就是把你要上傳的代碼放到CMPushNotificationService/Classes里面,把里面那個(gè)文件替換掉就好了(你會(huì)發(fā)現(xiàn)文件名都起得很易懂)

如果只是簡(jiǎn)單的分類的話也直接拖進(jìn)來就好了,而且這里的文件關(guān)乎著podspec里面怎么寫?,F(xiàn)在先假裝都弄進(jìn)來了,到下一步
打開文件夾下的CMPushNotificationService.podspec,這個(gè)文件是干什么的就不做解釋了,我也很菜的,不過可以Google一下

- 區(qū)域一是一些簡(jiǎn)單的配置,看名字就知道了,版本啊、地址啊、描述什么的都是在這里修改,最好把 :tag后面的改的和我的一樣~
- 區(qū)域二就是配置文件的,讓它能找到你對(duì)應(yīng)的文件的地方,還有加依賴。(因?yàn)檫@個(gè)項(xiàng)目是分模塊了,所以這里比較復(fù)雜,如果你的只是簡(jiǎn)單的一個(gè)分類或者Classes里面包含了所有文件,那直接用區(qū)域4就好了,區(qū)域2和區(qū)域3都可以忽略)
- 區(qū)域三主要是添加frameworks、libraries,
這里會(huì)加 s.xcconfig = {'VALID_ARCHS' => 'arm64 x86_64',} 是因?yàn)闃O光的問題,不加這個(gè)你會(huì)發(fā)現(xiàn)當(dāng)你做完準(zhǔn)備驗(yàn)證的時(shí)候是通不過的
到這里就即將完成配置了,接下來需要在當(dāng)前文件下,按Shift+Ctrl+. 顯示隱藏文件,需要去修改gitignore文件最后一行,以防首次pod的時(shí)候找不到路徑


到這里總算是大功告成一大半了,接下來進(jìn)入Example里面,pod update一下,完成之后打開項(xiàng)目,這里就把你剛才放在Classes里的文件導(dǎo)入進(jìn)來了

如果要修改或者后續(xù)需要更新,只需要在Example里面修改區(qū)域一里的代碼,然后pod update就把代碼改好了。
當(dāng)然Example主要還是讓我們添加一個(gè)例子嘛,大家可以在這里面引入你的庫然后寫個(gè)例子,記得第一次如果import不了,把項(xiàng)目調(diào)試好了直接在模擬器上運(yùn)行一下,接下來完成所有代碼之后就剩上傳了
接下來回到終端,cd到項(xiàng)目目錄
輸入 pod lib lint --allow-warnings 如果有error的話重新輸入 pod lib lint --allow-warnings --verbose打印錯(cuò)誤,然后修改就好了
出現(xiàn)綠色的passed validation就是驗(yàn)證成功了
馬上就搞完了,搞定就可以下班了
打開SourceTree,新建->添加已經(jīng)存在的本地倉(cāng)庫->選擇你的文件->創(chuàng)建,雙擊打開倉(cāng)庫,倉(cāng)庫設(shè)置->遠(yuǎn)程倉(cāng)庫->添加->確認(rèn)。這樣就把你的遠(yuǎn)程倉(cāng)庫和剛才創(chuàng)建的那個(gè)文件連起來了,然后設(shè)置倉(cāng)庫->遠(yuǎn)程倉(cāng)庫,把GitHub的倉(cāng)庫地址連過來,然后把當(dāng)前所有改動(dòng)保存,最后修改完之后合并到master上,打上標(biāo)簽(標(biāo)簽與項(xiàng)目pod版本相同),然后推送到遠(yuǎn)程master,成功之后就可以進(jìn)行下一步了,這時(shí)候你打GitHub是這樣的

- 然后就是注冊(cè)cocoapod賬號(hào),如果有的可以直接跳過這一步
- 終端輸入 pod trunk register 郵箱地址 ‘用戶名’ --description='描述信息'
- 去你郵箱點(diǎn)擊一下,就會(huì)告訴你注冊(cè)成功了
- 輸入 pod trunk me,有你的信息則說明登陸成功
- 然后cd到項(xiàng)目目錄 輸入pod spec lint --allow-warnings,一樣的有問題加個(gè) --verbose查看問題然后解決
- 最后 pod trunk push CMPushNotificationService.podspec --allow-warnings (中間填你自己的項(xiàng)目名)
- 成功之后pod search查看,如果失敗還是打印問題,然后對(duì)應(yīng)解決,如果不知道怎么解決,可以點(diǎn)這里
success.png
最后,謝謝大家閱讀,演示的項(xiàng)目是封裝的極光和信鴿推送,里面有Example演示怎么使用的,很簡(jiǎn)單,這里是GitHub地址,走過路過給個(gè)??吧
這種是標(biāo)準(zhǔn)格式(格式是模版,不用自己辛苦創(chuàng)建,只需要修改),也有簡(jiǎn)單模式(所有東西得自己創(chuàng)建),在簡(jiǎn)書里找的一片文章,可以點(diǎn)這里去查看
qq群:515385179
如有意見建議,請(qǐng)?jiān)谙路搅粞浴?
另外加個(gè)廣告,推薦幾個(gè)自己GitHub項(xiàng)目,希望多幾個(gè)星星
UILabel分類,使用簡(jiǎn)單,動(dòng)畫改變label數(shù)值
對(duì)極光推送和信鴿推送的封裝,統(tǒng)一調(diào)用,簡(jiǎn)單易懂
對(duì)MJRefresh二次封裝,讓代碼更清晰
封裝的一個(gè)二維碼掃描器
登陸、支付、分享(待完善)功能封裝
這是我的GitHub首頁


