第三方庫(kù)上傳至Cocoapods

代碼上傳的前提是Github上已經(jīng)配置好(包括忽略文件和Lincence),且代碼在Github.

圖片.png

1邑闺、檢查cocoapods版本

cocoapods版本要確保大于0.33.0跌前,如果不滿足執(zhí)行命令更新pod版本,命令如下:

pod --version   //查看pod版本
sudo gem install cocoapods   //更新pod
  • 切記最好不要使用beta版本

2陡舅、注冊(cè)郵箱和用戶

pod trunk register email@**.com 'username' --verbose

成功之后要打開(kāi)郵箱進(jìn)行驗(yàn)證,內(nèi)容大致如下:

Hi usename,

Please confirm your CocoaPods session by clicking the following link:

https://trunk.cocoapods.org/sessions/verify/18996b08

If you did not request this you do not need to take any further action.

Kind regards, the CocoaPods team

點(diǎn)擊鏈接進(jìn)行驗(yàn)證抵乓,鏈接上用個(gè)地方點(diǎn)擊‘terminal’,直接返回終端
成功之后可以用命令測(cè)試

pod trunk me  

信息大致如下:

本地信息.png

3靶衍、給代碼打tag并推到github

將路徑切換到工程目錄下 執(zhí)行命令如下:

git tag 0.0.1  // 給代碼打tag,0.0.1 是你的版本號(hào) 

git push --tag  // 推送tag到github 

git tag   // 查看所有的tag 

刪除本地tag   git tag -d 版本號(hào)
刪除遠(yuǎn)程tag   git push origin --delete tag  版本號(hào) 

4灾炭、創(chuàng)建并配置podspec

將路徑切換到工程目錄下 執(zhí)行命令

pod spec create Refresh //Refresh一般和工程名保持一致(非強(qiáng)制)  

執(zhí)行結(jié)束生成一個(gè)Refresh.podspec,里面的信息請(qǐng)自行查看颅眶。
下面是一些最基本的信息(已刪除注釋等):

Pod::Spec.new do |s|

  s.name         = 'SCPeriodicScrollView'
  s.version      = '0.0.1'  #些處的版本要和上面設(shè)置的tag保持下一致
  s.summary      = 'A fast, lightweight carousel figure.'
  s.description  = 'A fast, lightweight carousel figure, which is based on UICollectionView.'
  s.homepage     = 'https://github.com/tsc000/SCPeriodicScrollView'
  s.license      = 'MIT'
  s.author             = { 'tsc000' => 'email@qq.com' }
  s.platform     = 'iOS'
  s.ios.deployment_target = '7.0'
  s.source       = { :git => 'https://github.com/tsc000/SCPeriodicScrollView.git', :tag => s.version }
  s.source_files  = 'SCPeriodicScrollView/Source/*.{h,m}'
  s.framework  = 'UIKit'
  s.requires_arc = true
  s.dependency "SDWebImage"
end 

對(duì)于.podspec文件也可以找到一個(gè)第三方庫(kù)的東西拿出來(lái)修改一下就可以蜈出。

5当纱、驗(yàn)證podspec文件

  • 以下驗(yàn)證部分 需要進(jìn)入到.podspec 所在的文件夾

執(zhí)行命令驗(yàn)證.podspec中的填寫(xiě)信息

 pod lib lint  

如果有錯(cuò)誤的話它會(huì)提示微姊。但是注意的是如果有警告也是不會(huì)驗(yàn)證通過(guò)的再层,對(duì)于無(wú)關(guān)緊要的警告(包括代碼中的)可以使用命令

 pod lib lint --allow-warnings  //忽略警告

下面我主要說(shuō)下可能遇到的問(wèn)題:

  • 源文件路徑不正確
s.source_files  =  "Refresh/Refresh/Source*.{h,m}" 
s.public_header_files = "Refresh/Refresh/Source/*.h" 

source_files和public_header_files 目錄一定要從你的工程根目錄算起

  • 依賴庫(kù)
s.dependency "JSONKit" //不寫(xiě)版本號(hào)直接更新最新的依賴庫(kù)
  • 描述長(zhǎng)度問(wèn)題
  s.summary      = "123"
  s.description  = "1234"

description的長(zhǎng)度一定要比summary的長(zhǎng)

  • Tag問(wèn)題

如果pods中已經(jīng)有一個(gè)版本雄右,如果將些刪掉,然后修改代碼重新提交成相同的tag估蹄,那么脸爱,再用Pods集成的時(shí)候還是上一個(gè)版本的代碼

  • 依賴問(wèn)題([iOS] unknown: Encountered an unknown error (Unable to find a specification for LGBaseModule depended upon by LGInteractionModule

添加--sources狞玛, 私有庫(kù)地址放到cocoapods倉(cāng)庫(kù)地址之前剖笙,用逗號(hào)(卵洗,)分隔

pod lib lint --sources='https://gitee.com/SwiftLogan/PrivateRepoSpec.git, https://github.com/CocoaPods/Specs.git' --verbose
  • xcodebuild: Returned an unsuccessful exit code

添加--verbose

pod lib lint --verbose

6、將代碼推送到Cocoapods

執(zhí)行命令

pod trunk push Refresh.podspec //推送代碼到Cocoapods

同樣如果有不緊要的警告也要加--allow-warnings

pod trunk push Refresh.podspec --allow-warnings //推送代碼到Cocoapods
上傳成功.png

7弥咪、上傳成功之后pods更新

代碼庫(kù)傳入 pods之后如果 'pod search 庫(kù)名' 搜索不到那么要進(jìn)行<pre>pod setup</pre>操作过蹂。setup的操作是將本地倉(cāng)庫(kù)和服務(wù)器進(jìn)行同步,同步之后也可能會(huì)出現(xiàn)還是搜索不到酪夷,但是在cocoapods 官網(wǎng)上明明可以搜的到榴啸,這時(shí)要做的是下面的操作

執(zhí)行命令清除搜索索引,因?yàn)樾绿砑拥膸?kù)不在索引范圍內(nèi)

rm ~/Library/Caches/CocoaPods/search_index.json

執(zhí)行完畢之后再重新search(可能會(huì)卡在 Creating search index for spec repo 'master'.. 不要急,慢慢等...) 晚岭,這時(shí)會(huì)生成新的搜索索引,新的搜索索引將會(huì)包含你的庫(kù)

其它:

刪除cocoapods中某一個(gè)庫(kù)版本
pod trunk delete 庫(kù)名 庫(kù)版本號(hào)

如果上述有什么錯(cuò)誤勋功,歡迎指正坦报。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末库说,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子片择,更是在濱河造成了極大的恐慌潜的,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件字管,死亡現(xiàn)場(chǎng)離奇詭異啰挪,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)嘲叔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)亡呵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人硫戈,你說(shuō)我怎么就攤上這事锰什。” “怎么了丁逝?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵汁胆,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我霜幼,道長(zhǎng)嫩码,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任罪既,我火速辦了婚禮谢谦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘萝衩。我一直安慰自己回挽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布猩谊。 她就那樣靜靜地躺著千劈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪牌捷。 梳的紋絲不亂的頭發(fā)上墙牌,一...
    開(kāi)封第一講書(shū)人閱讀 51,727評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音暗甥,去河邊找鬼喜滨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛撤防,可吹牛的內(nèi)容都是我干的虽风。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辜膝!你這毒婦竟也來(lái)了无牵?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤厂抖,失蹤者是張志新(化名)和其女友劉穎茎毁,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體忱辅,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡七蜘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了墙懂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片橡卤。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖垒在,靈堂內(nèi)的尸體忽然破棺而出蒜魄,到底是詐尸還是另有隱情,我是刑警寧澤场躯,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布谈为,位于F島的核電站,受9級(jí)特大地震影響踢关,放射性物質(zhì)發(fā)生泄漏伞鲫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一签舞、第九天 我趴在偏房一處隱蔽的房頂上張望秕脓。 院中可真熱鬧,春花似錦儒搭、人聲如沸吠架。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)傍药。三九已至,卻和暖如春魂仍,著一層夾襖步出監(jiān)牢的瞬間拐辽,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工擦酌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留俱诸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓赊舶,卻偏偏與公主長(zhǎng)得像睁搭,于是被迫代替她去往敵國(guó)和親赶诊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

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

  • 項(xiàng)目組件化介袜、平臺(tái)化是技術(shù)公司的共同目標(biāo)甫何,越來(lái)越多的技術(shù)公司推崇使用pod管理第三方庫(kù)以及私有組件出吹,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 21,796評(píng)論 0 39
  • 一遇伞、創(chuàng)建的github倉(cāng)庫(kù)原文地址 1 進(jìn)入Github網(wǎng)站www.github.com登陸自己的賬號(hào)后 2 建立...
    freesan44閱讀 3,932評(píng)論 2 12
  • 背景 上一篇博客最新的CocoaPods的使用教程(一)里主要講解了CocoPods得簡(jiǎn)單的日常使用。但是我們經(jīng)常...
    Dely閱讀 5,807評(píng)論 11 34
  • Ruby 安裝 要安裝cocospods 首先需要安裝ruby捶牢,可以先安裝xcode鸠珠,再安裝macport ,最后...
    山天大畜閱讀 1,859評(píng)論 0 1
  • 一. CocoaPods的介紹 什么是CocoaPods秋麸?CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開(kāi)源庫(kù)...
    輝712閱讀 3,930評(píng)論 0 7