CocoaPods 安裝撵彻、使用、問題

目錄

一:CocoaPods 的安裝

1实牡、更換 Gem 的源
2陌僵、更新升級(jí) Gem 版本
3、安裝CocoaPods
4创坞、更換repo鏡像為國(guó)內(nèi)服務(wù)器

二:CocoaPods的使用

1碗短、新建 Podfile 文件
2、編輯 Podfile 文件
3题涨、執(zhí)行導(dǎo)入命令
4偎谁、第三方庫(kù)更新

三:各種問題

安裝基本流程

1.先升級(jí)Gem 
  gem update --system
2.切換cocoapods的數(shù)據(jù)源 
  2.1 刪除老的源(地址在國(guó)外总滩,比較卡) 
      gem sources --remove https://rubygems.org/ 
  2.2 新增國(guó)內(nèi)源
      gem sources -a https://gems.ruby-china.org/
  2.3 查看當(dāng)前源
      gem sources -l
3.安裝cocoapods 
  gem install cocoapods
4.將Podspec文件托管地址從github切換到國(guó)內(nèi)的oschina
  4.1 先刪除老的數(shù)據(jù)
      pod repo remove master
  4.2 換成國(guó)內(nèi)鏡像
      pod repo add master https://git.coding.net/CocoaPods/Specs.git
  4.3 更新鏡像
      pod repo update
5.設(shè)置pod倉(cāng)庫(kù) 
  pod setup
6.測(cè)試 【如果有版本號(hào),則說明已經(jīng)安裝成功】 
  pod --version
7.利用cocoapods來安裝第三方框架
  7.1 進(jìn)入要安裝框架的項(xiàng)目的.xcodeproj同級(jí)文件夾 
  7.2 在該文件夾中新建一個(gè)文件Podfile 
  7.3 在文件中告訴cocoapods需要安裝的框架信息 
      7.3.1 該框架支持的平臺(tái) 
      7.3.2 適用的iOS版本 
      7.3.3 框架的名稱 
      7.3.4 框架的版本
8.安裝
  pod install --no-repo-update
  pod update --no-repo-update

一:CocoaPods安裝

CocoaPods是用Ruby實(shí)現(xiàn)的搭盾,要想使用它首先需要有Ruby的環(huán)境咳秉。幸運(yùn)的是OS X系統(tǒng)默認(rèn)的已經(jīng)可以運(yùn)行Ruby了,因此我們只需要執(zhí)行以下命令鸯隅。

1: 更換Gem源

Gem是一個(gè)管理Ruby庫(kù)和程序的標(biāo)準(zhǔn)包澜建,它通過Ruby Gem(如 http://rubygems.org/ )源來查找、安裝蝌以、升級(jí)和卸載軟件包

// 1.移除掉原有的源(服務(wù)器在國(guó)外炕舵,速度較慢)
- gem sources --remove https://rubygems.org/
// 2.等有反應(yīng)之后再敲入以下命令(淘寶源已經(jīng)停止維護(hù)了,現(xiàn)在是https://gems.ruby-china.org/)
- gem sources -a https://gems.ruby-china.org/
// 3.驗(yàn)證是否替換成功
- gem sources -l
Gem源

2: 更新Gem版本

Gem是管理Ruby庫(kù)和程序的標(biāo)準(zhǔn)包跟畅,如果它的版本過低也可能導(dǎo)致安裝失敗咽筋,解決方案自然是升級(jí)Gem,執(zhí)行下述命令即可:

// 更新升級(jí)gem
- gem update --system

3: 安裝Cocoapods

// 安裝CocoaPods(OS X 10.11以前,包含10.11)
- gem install cocoapods   // 默認(rèn)安裝最新版本
- gem install cocoapods -v 1.0.0   // 安裝指定1.0.0版本
// 安裝CocoaPods(10.11后蘋果升級(jí)了安全策略)
- gem install -n /usr/local/bin cocoapods
安裝cocoapods

4: 更換repo鏡像

所有的項(xiàng)目的Podspec文件都托管在https://github.com/CocoaPods/Specs徊件。 第一次執(zhí)行pod setup時(shí)奸攻,CocoaPods會(huì)將這些podspec索引文件更新到本地的 ~/.cocoapods/目錄下,這個(gè)索引文件比較大虱痕,所以第一次更新時(shí)非常慢睹耐。而且很大幾率失敗,反正我是沒有成功過部翘,掛了vpn也不行硝训。
后來就出現(xiàn)了國(guó)內(nèi)鏡像,這里推薦git coding上的https://git.coding.net/CocoaPods/Specs.git 貌似這個(gè)鏡像也是cocoapods官方維護(hù)的新思。

// 1.移除原有服務(wù)器
- pod repo remove master
// 2.添加境內(nèi)服務(wù)器(建議使用第二種方法)
- pod repo add master https://git.coding.net/CocoaPods/Specs.git
- git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
// 3.更新鏡像(這一步不要忘了)
- pod repo update
移除原有服務(wù)
新增國(guó)內(nèi)鏡像窖梁,方法1
新增國(guó)內(nèi)鏡像,方法2
更新repo鏡像內(nèi)容

5: 設(shè)置Pod倉(cāng)庫(kù)

// 設(shè)置pod 倉(cāng)庫(kù)
- pod setup
設(shè)置pod倉(cāng)庫(kù)

6: 測(cè)試

通過search命令或者查看version夹囚,可以判斷是否安裝成功

// 查看版本
- pod --version
// 查詢庫(kù)
- pod search JWTrace
查詢pod版本
search命令

二:CocoaPods使用

1: 新增Podfile文件

使用時(shí)需要在你的項(xiàng)目根目錄下新建一個(gè)名為Podfile的文件纵刘,將依賴的庫(kù)名字依次列在文件中即可

// 控制臺(tái),cd進(jìn)入項(xiàng)目根目錄
cd /Users/wangjun/Desktop/WorkSpace/CocoapodsDemo
// 新增Podfile文件
vim Podfile
編輯Podfile文件內(nèi)容

2: 導(dǎo)入庫(kù)

導(dǎo)入完成之后荸哟,打開xxx.xcworkspace彰导,啟動(dòng)項(xiàng)目

// 導(dǎo)入庫(kù)
pod install
導(dǎo)入庫(kù)

三:?jiǎn)栴}

升級(jí)、安裝過程中敲茄,會(huì)遇到很多問題位谋,這了列舉一些我碰到的。

1: pod setup時(shí)異常

Setting up CocoaPods master repo
[!] /usr/local/bin/git clone https://github.com/CocoaPods/Specs.git master

Cloning into 'master'...
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Setting up CocoaPods master repo
[!] /usr/local/bin/git clone https://github.com/CocoaPods/Specs.git master

Cloning into 'master'...
error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Setting up CocoaPods master repo
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master

Cloning into 'master'...
error: RPC failed; curl 56 SSLRead() return error -9806
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

這三種問題堰燎,都是因?yàn)閞epo鏡像done不下來導(dǎo)致的掏父。
執(zhí)行CocoaPods安裝中的第4步 即可

2: Size問題
Setting up CocoaPods master repo
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master

Cloning into 'master'...
error: RPC failed; result=56, HTTP code = 200
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

這個(gè)是用于在執(zhí)行pod setup命令的時(shí)候,里面會(huì)執(zhí)行從github上面clone資源到本地的語句,但是要clone的東西太大了,超過的git限制的大小.嘗試執(zhí)行以下語句把默認(rèn)的限制變大:(52428000=500×1024×1024,即500M)

// 配置
git config http.postBuffer 524288000
buffconfig

四:更多

1: pod install提速

每次執(zhí)行pod installpod update的時(shí)候,cocoapods都會(huì)默認(rèn)更新一次spec倉(cāng)庫(kù)秆剪。這是一個(gè)比較耗時(shí)的操作赊淑。在確認(rèn)spec版本庫(kù)不需要更新時(shí)爵政,給這兩個(gè)命令加一個(gè)參數(shù)跳過spec版本庫(kù)更新,可以明顯提高這兩個(gè)命令的執(zhí)行速度。

pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
2: 導(dǎo)入庫(kù)時(shí)陶缺,版本選擇
#pod ‘AFNetworking’             //不顯式指定依賴庫(kù)版本钾挟,表示每次都獲取最新版本
#pod ‘AFNetworking’,  ‘2.0’     //只使用2.0版本
#pod ‘AFNetworking’, ‘>2.0′     //使用高于2.0的版本
#pod ‘AFNetworking’, ‘>=2.0′    //使用大于或等于2.0的版本
#pod ‘AFNetworking’, ‘<2.0′     //使用小于2.0的版本
#pod ‘AFNetworking’, ‘<=2.0′    //使用小于或等于2.0的版本
#pod ‘AFNetworking’, ‘~>0.1.2′  //使用大于等于0.1.2但小于0.2的版本,相當(dāng)于>=0.1.2并且<0.2.0
#pod ‘AFNetworking’, ‘~>0.1′    //使用大于等于0.1但小于1.0的版本
#pod ‘AFNetworking’, ‘~>0′      //高于0的版本饱岸,寫這個(gè)限制和什么都不寫是一個(gè)效果掺出,都表示使用最新版本
3: 一些其他命令
// 忽略第三方庫(kù)的警告
inhibit_all_warnings!
// OC中引入Swifty庫(kù)
use_frameworks!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市苫费,隨后出現(xiàn)的幾起案子汤锨,更是在濱河造成了極大的恐慌,老刑警劉巖百框,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闲礼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡铐维,警方通過查閱死者的電腦和手機(jī)柬泽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嫁蛇,“玉大人聂抢,你說我怎么就攤上這事√闹冢” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵有决,是天一觀的道長(zhǎng)闸拿。 經(jīng)常有香客問我,道長(zhǎng)书幕,這世上最難降的妖魔是什么新荤? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮台汇,結(jié)果婚禮上苛骨,老公的妹妹穿的比我還像新娘。我一直安慰自己苟呐,他們只是感情好痒芝,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著牵素,像睡著了一般严衬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上笆呆,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天请琳,我揣著相機(jī)與錄音粱挡,去河邊找鬼。 笑死俄精,一個(gè)胖子當(dāng)著我的面吹牛询筏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播竖慧,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼嫌套,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了测蘑?” 一聲冷哼從身側(cè)響起灌危,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碳胳,沒想到半個(gè)月后勇蝙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忍疾,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舶替,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年倚舀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辖试。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抵怎。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驮宴,死狀恐怖掐松,靈堂內(nèi)的尸體忽然破棺而出附帽,到底是詐尸還是另有隱情夕土,我是刑警寧澤馆衔,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站怨绣,受9級(jí)特大地震影響角溃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜篮撑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一减细、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赢笨,春花似錦未蝌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至桐筏,卻和暖如春怎憋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工绊袋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留毕匀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓癌别,卻偏偏與公主長(zhǎng)得像皂岔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子展姐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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

  • CocoaPods 是什么躁垛? CocoaPods 是一個(gè)負(fù)責(zé)管理 iOS 項(xiàng)目中第三方開源庫(kù)的工具。CocoaPo...
    朝洋閱讀 25,633評(píng)論 3 51
  • 項(xiàng)目組件化圾笨、平臺(tái)化是技術(shù)公司的共同目標(biāo)教馆,越來越多的技術(shù)公司推崇使用pod管理第三方庫(kù)以及私有組件,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 21,471評(píng)論 0 39
  • 一擂达、讀規(guī)畫系列 二土铺、行動(dòng): 1.聆聽:參加完綠帶沙龍,遇上麗娟板鬓,幾人一起去聽情緒與疾病悲敷,這次又讓我大開眼界。曾經(jīng)知...
    陽(yáng)光中的晨薇閱讀 122評(píng)論 0 0
  • 【蘇蘇月度檢視 9 月】 沒有反思的人生不值得過 -蘇格拉底 9 月俭令,嘉許自己的每一天的認(rèn)真與熱忱后德,感恩每一位生命...
    蘇蘇801閱讀 223評(píng)論 1 2
  • 解決方法: (void)viewWillAppear:(BOOL)animated {[super viewWil...
    WARRON閱讀 510評(píng)論 0 1