CocoaPods安裝 詳細

最近安裝CocoaPods遇到了很多的問題僵蛛,導(dǎo)致安裝了3天才完成旧找,對先慷!你沒有看錯台谍,安裝了整整3天(當(dāng)中也有網(wǎng)絡(luò)的問題)杉适。所以有了這篇文章亚隅。

  • 當(dāng)前電腦版本: macOS High Sierra 10.13.1
  • xcode版本: Version 9.1 (9B55)

一逾柿、CocoaPods簡介

CocoaPods負責(zé)管理iOS項目中第三方框架怕膛。CocoaPods的項目源碼在Github上管理熟嫩。項目從2011年8月12日開始,CocoaPods的出現(xiàn)使得我們可以節(jié)省設(shè)置和更新第三方開源庫的時間。

二褐捻、開始安裝

安裝需要用到Ruby掸茅,雖然Mac自帶了Ruby,不過版本有點老了柠逞,最好更新一下

sudo gem update --system

接下來輸入系統(tǒng)密碼就可以安裝了昧狮,輸入密碼時不會顯示的,輸完回車就行了(黑色塊是我個人加上去的板壮,遮擋用戶名的)

輸入密碼

因為Ruby的軟件源rubygems.org被屏蔽了逗鸣,所以要更換源

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

添加源成功

接下來查看下源路徑是否更換了

gem sources -l

和上圖一樣的源就成功了

**請確保只有 gems.ruby-china.com **
然后就可以更新Ruby了


接下來安裝Cocoapods了

sudo gem install cocoapods

不過有可能出錯(我就是出錯了),出錯的話執(zhí)行下面的命令

sudo gem install -n /usr/local/bin cocoapods

install出錯

安裝時會輸出很多文件以及進度條

install成功

安裝完后你可以輸入下面的命令查看是否成功,當(dāng)前CocoaPods版本為1.0.0

pod --version

查看是否安裝成功

安裝完cocoapods后進行最蛋疼的一步撒璧,設(shè)置倉庫透葛,就是把所有上傳到cocoapods的第三方框架下載每個版本和網(wǎng)絡(luò)地址以及一些其他描述信息到本地,因為服務(wù)器在國外所以比較蛋疼卿樱,網(wǎng)速好的直接無視我的話輸完下面命令后跳到下載中說明-僚害。-

倉庫里裝的東西

pod setup

等待下載完
下載完成圖

下載完就大功告成了(沒有網(wǎng)絡(luò)問題就可以跳轉(zhuǎn)到三、開始使用了).


**網(wǎng)速不好殿如,老是報錯的這里贡珊!

之前我也嘗試過使用CocoaPods的鏡像索引使用國內(nèi)的鏡像,但是沒有效果涉馁,oschina的應(yīng)該是因為人流量訪問大门岔,所以設(shè)置了驗證碼,而gitcafe馬上要停止服務(wù)了烤送,所以沒辦法了(如果你知道還有其他鏡像請聯(lián)系我寒随,貢獻出來讓我們這些網(wǎng)速差的小白能愉快的安裝)

一直報錯,503帮坚、argumenterror , syntax error on line 4, col 0: `min:0.29.0` 等等妻往,都是你的網(wǎng)絡(luò)原因?qū)е碌?/p>

這就要手動下載配置,可以在上面的oschina和gitcafe鏈接中下載试和,也可以在github上下載(不過比較慢)

更新一個手動下載到本地的方法!!!
采用國內(nèi)的免費服務(wù)器同步后下載:鏈接

下載完成后你可以輸入

pod setup

然后control+c 中斷讯泣,目的是讓他幫你創(chuàng)建文件夾
當(dāng)然你也可以手動創(chuàng)建文件夾,但是文件夾是隱藏的所以你需要在Finder頁面使用快捷鍵command + shift + .

隨后在Finder點擊 前往>前往文件夾 中前往文件阅悍,輸入下面指令

~/.cocoapods

前往文件也可以按快捷鍵shift+command+G
文件結(jié)構(gòu)

對比一下可以發(fā)現(xiàn)我們下載的文件和安裝后的文件只是改了一下文件名好渠,把最外面的文件改為master,然后扔到~/.cocoapods/repos文件夾下就完成設(shè)置了

對比圖

下載中說明

下載中如果不放心节视,可以新建一個終端窗口分別輸入下面兩條命令查看下載了多少拳锚,下載完成的文件大小如下(2016.5.25日下載的文件)

cd ~/.cocoapods
du -sh *

完成后的文件大小

三、開始使用

設(shè)置完成后就可以開始使用了寻行,先創(chuàng)建一個Project霍掺,然后創(chuàng)建一個single View Application到桌面,終端中輸入cd+空格拌蜘,把剛剛創(chuàng)建到桌面的文件夾拖到終端中杆烁,回車

接下來創(chuàng)建Podfile文件,并編輯

vim Podfile

進入Podfile后輸入i編輯狀態(tài)(可以查看左下角有個INSERT)拦坠,進入輸入下面命令

platform :ios, '9.3'
use_frameworks!

target 'Test' do
  pod 'SDWebImage', '~>3.7.6'
  pod 'Masonry', '~>1.0.0'
end

<a name="Podfile" id="Podfile">Podfile格式解析</a>

  • platform是平臺
  • ios, '9.3'是指定所支持系統(tǒng)和最低版本
  • Test填寫你的target名稱(target名見下圖),pod 后面的就是你需要的框架,'~>里面就是版本',官網(wǎng)的案例是寫了版本號的连躏。
這些就是Target名
官網(wǎng)案例

寫完后按Esc 然后:wq 意思是保存并退出

編寫并保存退出

接著輸入,就會把Podfile文件里寫的文件下載到當(dāng)前文件夾贞滨,并且創(chuàng)建.xcworkspace

pod install

安裝完成時的文件

接下來就可以打開Test(target名).xcworkspace文件導(dǎo)入頭文件編寫你的程序了。

四、編寫小問題

我在編寫時還出現(xiàn)了一點小問題晓铆,當(dāng)你導(dǎo)入頭文件時勺良,有時不會提示,不會提示就表示可能會打錯骄噪,你可以control+B編譯一下再嘗試尚困,如果還是不行就按照下面的圖進行一下配置

$(PODS_ROOT)
選擇recursive

導(dǎo)入頭文件提示

之后我去看了下官網(wǎng),官網(wǎng)的導(dǎo)入方式是尖括號<里面寫導(dǎo)入第三方的文件夾名+頭文件>

官網(wǎng)寫法

這里链蕊,又一個問題來了事甜,當(dāng)你使用Masonry的時候需要進行宏定義,因為什么時候用mas_滔韵,什么時候包裝數(shù)據(jù)類型逻谦,這些實在懶得記...而當(dāng)你用官網(wǎng)的方式導(dǎo)入,那種方式不能支持宏

編譯時
運行時報錯

這時候就需要改成import "Masonry.h" ,很奇怪的是我現(xiàn)在導(dǎo)入有提示陪蜻,而之前導(dǎo)入一直沒出提示邦马。

正確的導(dǎo)入文件方法

五、常見的問題

### Error

ArgumentError - invalid byte sequence in US-ASCII
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer/pod_source_installer.rb:257:in `glob'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer/pod_source_installer.rb:257:in `glob'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer/pod_source_installer.rb:257:in `clean_paths'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer/pod_source_installer.rb:157:in `clean_installation'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer/pod_source_installer.rb:82:in `clean!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:278:in `block in clean_pod_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:277:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:277:in `clean_pod_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:107:in `block in download_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/user_interface.rb:52:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:103:in `download_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:89:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/command/project.rb:38:in `run_install_with_update'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/command/project.rb:68:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-0.5.0/lib/claide/command.rb:277:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/command.rb:51:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/bin/pod:33:in `'
/usr/bin/pod:23:in `load'
/usr/bin/pod:23:in `'

更改編碼為UTF-8

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

[!] Your Podfile has had smart quotes sanitised. 
To avoid issues in the future, you should not use TextEdit for editing it.
If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

提示你使用mac自帶的"文本編輯"要取消智能引號
編輯-替換-智能引號 取消勾選

關(guān)閉智能引號

不過我建議最好是用vim宴卖,如果嫌麻煩還可以用xcode打開

打開方式
始終以Xcode打開

剩下有些編寫時出錯的問題可能是多了個空格或者什么字符打錯了/使用了中文字符等滋将,看編譯器報的錯一般就能解決

如果不能解決就試試從執(zhí)行安裝命令,依次執(zhí)行之前的命令

sudo gem install cocoapods
上面報錯就執(zhí)行sudo gem install -n /usr/local/bin cocoapods
pod setup


常用命令

更新本地倉庫
pod repo update
從本地已有倉庫更新當(dāng)前項目中的第三方(不更新本地倉庫)
pod update --verbose --no-repo-update

可能寫的有點啰嗦了症昏,最初我想的就是給超小白寫的随闽,我個人比較喜歡看圖,所以基本上保持每幾個動作截取一張圖肝谭,看的更直觀掘宪,但是有些圖在最初安裝的時候沒想到要寫文章所以就沒有截取到,非撤治可惜添诉,細心的朋友會發(fā)現(xiàn)我的終端樣式不一樣,是在后面幫朋友安裝時重新截的圖医寿,如果對你有幫助栏赴,那就再好不過了!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末靖秩,一起剝皮案震驚了整個濱河市须眷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌沟突,老刑警劉巖花颗,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異惠拭,居然都是意外死亡扩劝,警方通過查閱死者的電腦和手機庸论,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棒呛,“玉大人聂示,你說我怎么就攤上這事〈孛耄” “怎么了鱼喉?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長趋观。 經(jīng)常有香客問我扛禽,道長,這世上最難降的妖魔是什么皱坛? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任编曼,我火速辦了婚禮,結(jié)果婚禮上麸恍,老公的妹妹穿的比我還像新娘灵巧。我一直安慰自己,他們只是感情好抹沪,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布刻肄。 她就那樣靜靜地躺著,像睡著了一般融欧。 火紅的嫁衣襯著肌膚如雪敏弃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天噪馏,我揣著相機與錄音麦到,去河邊找鬼。 笑死欠肾,一個胖子當(dāng)著我的面吹牛瓶颠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播刺桃,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼粹淋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瑟慈?” 一聲冷哼從身側(cè)響起桃移,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎葛碧,沒想到半個月后借杰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡进泼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年蔗衡,在試婚紗的時候發(fā)現(xiàn)自己被綠了纤虽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡粘都,死狀恐怖廓推,靈堂內(nèi)的尸體忽然破棺而出刷袍,到底是詐尸還是另有隱情翩隧,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布呻纹,位于F島的核電站堆生,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏雷酪。R本人自食惡果不足惜淑仆,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哥力。 院中可真熱鬧蔗怠,春花似錦、人聲如沸吩跋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锌钮。三九已至桥温,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間梁丘,已是汗流浹背侵浸。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留氛谜,地道東北人掏觉。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像值漫,于是被迫代替她去往敵國和親澳腹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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

  • CocoaPods 是什么惭嚣? CocoaPods 是一個負責(zé)管理 iOS 項目中第三方開源庫的工具遵湖。CocoaPo...
    朝洋閱讀 25,637評論 3 51
  • 回頭看看你給我的留言,回頭想想我們在一起的點點滴滴晚吞,就像夢延旧,夢醒了…… 你無情!
    阿勇的故事閱讀 158評論 0 0
  • 使用SSH連接VirtualBox虛擬機 步驟: 配置虛擬機網(wǎng)絡(luò)槽地,添加端口轉(zhuǎn)發(fā)規(guī)則 測試服務(wù)器端ssh是否安裝 測...
    faner閱讀 30,572評論 0 7