上傳主要步驟可以參照這篇【最新】上傳代碼到cocoapod
本文主要是用來以防以后想要上傳自己寫好的代碼到Cocoapod供別人使用遇到的一些問題虫溜,主要問題是處在pod spec lint xxx.podspec 文件不通過。會(huì)報(bào)錯(cuò),這時(shí)候要看清楚報(bào)錯(cuò)的內(nèi)容。下面是容易犯錯(cuò)的地方
1.在填寫podspec文件的時(shí)候,將value值的英文雙引號(hào)寫成中文的雙引號(hào)。就算你從別的地方復(fù)制過來是雙引號(hào),由于mac系統(tǒng)默認(rèn)的設(shè)置都會(huì)自動(dòng)地轉(zhuǎn)成中文的雙引號(hào)橘蜜。可以在設(shè)置->鍵盤->文本->右邊的雙引號(hào)樣式和單引號(hào)樣式選擇最后一個(gè)就可以了雕旨。
2.有的時(shí)候雖然你在你自己的代碼工程里面編譯通過沒問題扮匠,但是你pod spec lint 檢測(cè)的時(shí)候都會(huì)通不過,原因是因?yàn)槟愕墓こ汤锩娲a文件有警告凡涩,例如你將一個(gè)參數(shù)原本是填YES/NO的棒搜,你填成了nil,在工程里面雖然不報(bào)錯(cuò)活箕,能編譯過力麸,但是你檢測(cè)的時(shí)候是不過的。不過這種警告都會(huì)列出來,你可以很清楚的知道在哪個(gè)類的哪一行出現(xiàn)這種錯(cuò)誤克蚂,修改過來就可以了闺鲸。
3.有時(shí)候你假如在你的工程文件里面引用了第三方框架的東西,例如你import <AFNetworking.h>,會(huì)檢測(cè)不通過埃叭,她說AFNetworking.h file not found.use "quote" 摸恍。這句話好像是說找不到<AFNetworking.h>文件,叫你換成 "AFNetworking.h"就可以編譯通過了.
4.檢測(cè)你的podspec時(shí)候赤屋,如果直接用pod spec lint xxx.podspec的話立镶,出現(xiàn)錯(cuò)誤的話它只會(huì)直接一句紅色的話`The spec did not pass validation, due to 1 error.`告訴你的有多少個(gè)error和warning,而不會(huì)具體的指出你的錯(cuò)誤出在哪里类早,這時(shí)候你可以在這句指令后面加上參數(shù)--verbose 這樣就會(huì)告訴你具體的錯(cuò)誤信息媚媒。這樣根據(jù)它提示你的錯(cuò)誤信息去解決就可以了。
5.每次修改成功之后涩僻,記得要更改podspec里面的version版本缭召。而且需要你在git里面打個(gè)tag,這個(gè)tag可以對(duì)應(yīng)于這個(gè)版本號(hào)逆日。具體如何打tag可以參考一下最上面給出的文章嵌巷。有可能會(huì)檢測(cè)出錯(cuò)提醒你例如下圖的錯(cuò)誤。因?yàn)闆]有這條分支屏富,所以你clone不下來晴竞。這時(shí)候在git里面創(chuàng)建這條分支,推上去就可以了狠半。
編譯成功的時(shí)候,會(huì)變成下面這個(gè)樣子,然后你執(zhí)行pod trunk push xxx.podspec 指令颤难,稍等片刻神年,完成之后你在pod search xxx(你的podspec里面的s.name),成功之后就會(huì)出現(xiàn)到你的個(gè)人pod了,然后就可以給別人用行嗤,是不是很方便已日?平時(shí)的項(xiàng)目代碼收集的好東西,趕緊封裝成一個(gè)自己的庫(kù)栅屏,然后弄上pod上面去和別人分享吧飘千,讓別人看你的代碼,指出代碼問題所在栈雳,這樣才能促進(jìn)自己的水平护奈!