前序
之前做過一個項(xiàng)目披粟,我沒有使用cocoapods來安裝第三方庫咒锻,直接將第三方庫拖入項(xiàng)目中,搭建橋來直接使用守屉。這種方法簡單惑艇、直接、快捷拇泛,但是不利于后期項(xiàng)目的維護(hù)滨巴,所以我按照網(wǎng)上的方法從安裝rvm、升級ruby俺叭、安裝升級cocoapods到使用cocoapods安裝第三方庫和第三方庫在項(xiàng)目中的使用恭取。在這中間我遇到了無數(shù)無數(shù)的坑,哎啊熄守,簡直是坑爹膀诳濉!TU铡攒发!已經(jīng)哭暈在廁所了!為了給其他的新手朋友提供一些幫助晋南,今天就寫下來這篇博客惠猿,也是我的處女作哦!好了负间,我們下面進(jìn)入正題吧偶妖,Let's go
各種常見問題解決方案
在此我會列出下面的操作中有可能出現(xiàn)的一些坑,方便讀者解決問題政溃。
1. ?當(dāng)我們在完成第四步(更新ruby后)趾访,我們有可能會驚訝的發(fā)現(xiàn),我們不能執(zhí)行安裝cocoapods的指令了玩祟「顾酰總是提示我們 “#Unable to require openssl,install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources ”屿聋。這也是我遇到的一個坑空扎,現(xiàn)在跟你分享下解決方法:
a. ?下載ruby最新源碼 ?點(diǎn)此下載 并解壓 ?ruby 2.2可以下載Ruby2.2.5的 ?ruby 2.3的可以下載Ruby 2.3.1的 ? ? ? ? ? ? ? ? ? ? ??
b. ?用命令安裝openssl
$ brew install openssl
如果終端輸出
openssl-1.0.2h_1 already installed
那么表示已經(jīng)安裝成功了。如果不是那么就繼續(xù)安裝吧润讥。
c.? cd到你下載的Rudy 的位置转锈。 你可能會說我怎么知道我下載到哪里了啊,那么你就把下載的放到你的桌面上楚殿。那么你的路徑就應(yīng)該是 /Users/你的用戶名(注意是英文的)/Desktop/Ruby-2.2.5撮慨。 我的如下:
$ cd? /Users/KingTortoise/Desktop/Ruby-2.2.5
d. ?配置源碼
$ ./configure ?--with-openssl-dir=/usr/local/ssl
e. ?編譯ruby源碼
$ make
f.最后安裝ruby
$ sudo make install
到這里為止我們就完成了。現(xiàn)在我們只要回到最初的位置就可以繼續(xù)安裝cocoapods了。
$ cd /Users/你的用戶名/
這樣就可以回到最初的位置了
好戲來了
首先我們來知道Homebrew(os x 不可或缺的套件管理器)砌溺、rvm影涉、ruby這幾個東西,這些在我們后面的安裝中都有用到规伐。
1.查看自己的ruby版本:
$ ruby -v
這里新手朋友要注意蟹倾,你要輸入的是 ruby -v ,前面的 $ 這個不需要你輸入2痢O侍摹!E嗷拧;砺健!
終端輸出版本號:(我的電腦是2.0.0的版本吵护,但是不知道朋友你輸出的是多少盒音,但是我可以告訴你的是如果現(xiàn)在你的版本低于2.2.2,那么你就要進(jìn)行升級馅而,因?yàn)楹竺姘惭bcocoapods時里逆,它要求你的ruby不能低于2.2.2)
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
如果你的版本號低于2.2.2的話,那么你要升級ruby用爪≡海可以使用rvm對ruby進(jìn)行升級。
2.安裝rvm:
$ curl -L get.rvm.io | bash -s stable
終端輸出一些信息偎血,這個過程要根據(jù)你的網(wǎng)速來決定诸衔,但是時間不會太長。當(dāng)終端輸出完成后颇玷,你可以查看rvm的版本號來判斷是否安裝成功笨农。
$ source ~/.bashrc $ source ~/.bash_profile$ rvm -v
$ source ~/.bash_profile
$ rvm -v
終端輸出版本號就意味著你成功了:
rvm 1.27.0 (latest) by Wayne E. Sequin <waynessguin@gmail.com>, Michal Papis<mpapis@gmail.com>[https://rvm.io/]
主要這里是(laster)最新版,我之前有一次出現(xiàn)(master),雖然我不知道這后面的操作有沒有影響帖渠,但是我想你還是把rvm升級到最新版比較的放心~~
3.升級rvm(如果你第二步安裝的rvm是laster版谒亦,那么你可以跳過這一步!空郊!)
按照下面這三個步驟就可以更新rvm
$ rvm get head
$ rvm reload
$ rvm get stable
每個步驟之間都要等一小小小會份招,你可不要一次性輸入完啊狞甚!
4.利用rvm來升級ruby
$ rvm list known
終端打印相應(yīng)的信息锁摔,通過信息我們可以看到rvm支持的ruby版本號,例如:
[ruby]2.2[4] ?代表ruby2.2有5個版本號 ?2.2.0 ? 2.2.1 ? ?2.2.2 ? ?2.2.3 ? ?2.2.4
因?yàn)槲覀兒竺嬉髍uby版本最低要是2.2.2,那么我們要升級ruby在2.2.2以上哼审。我自己在這里升級ruby為2.2.4谐腰。 因?yàn)閭€人情況不同孕豹,你可以安裝其他的版本,但是不能低于2.2.2十气。
下面這個代碼就是升級ruby
$ rvm install 2.2.4
有的時候這個代碼沒有用励背,系統(tǒng)提示你要使用這個
$ rvm reinstall ruby-2.2.4
那么你就使用這個指令。我估計我是安裝的太多次了砸西,所以出現(xiàn)了這個提示R我啊!籍胯!
這個安裝過程稍微有點(diǎn)長竟闪,耐心等會就好了。中間會出現(xiàn)這樣的情況:
type new path if you wish custom Homebrew installation (the path needs to be writable for user):
出現(xiàn)這個那是因?yàn)槟銢]有安裝homebrew,系統(tǒng)正在幫你自動安裝杖狼。我最初還以為這里要輸入什么炼蛤,但是不是的,你這里不需要輸入蝶涩。但是我在這等了好久理朋,后來在一篇博客中看到這里好像有兩個回車,具體什么時候按我也不知道绿聘,反正當(dāng)初我就是按回車按好的嗽上。最好的方法就是當(dāng)你等的不耐煩的時候就按回車玩玩吧,嘻嘻Oㄈ痢J薹摺!
如果你這里沒有出現(xiàn)這個挪圾,那么你要看一下你有沒有安裝homebrew,你可以通過查看homebrew的版本號來判斷
$ brew -v
如果終端輸出版本號浅萧,那么就ok啦!U芩肌洼畅! ?如果沒有,那么你要自己手動安裝homebrew,然后還要重新升級ruby棚赔。如果你是第一次的話帝簇,系統(tǒng)會自動幫你安裝homebrew的,但是我們不怕一萬靠益,就怕萬一嘛丧肴。homebrew的安裝在第五步講,現(xiàn)在先把第四步完成捆毫。
終端輸出完成后闪湾,你可以查看ruby的版本號冲甘,查看ruby的指令跟第一步是一樣的绩卤。如果是你更新后的版本途样,那么就代表成功了。如果ruby還是以前的版本的話濒憋,那么就代表失敗了何暇。失敗了怎么辦? 那你重新再更新下凛驮,我估計有可能是homebrew沒有安裝上的原因裆站,你先手動安裝homebrew后再重新更新ruby。
看這里黔夭!看這里:昕琛!看這里1纠选<缗邸!
現(xiàn)在你是不是更新成功了盎楸埂氛赐! 是不是很開心,??先舷! 慢著艰管,還有一步你一定要做,防止你后面出錯了你要重頭再來蒋川,你要把你ruby的默認(rèn)版本號修改為你當(dāng)前的版本號牲芋。
$?rvm use 2.2.4 --default
5.手動Homebrew
你要確定你是否安裝homebrew,可以通過查看homebrew的版本號來判斷捺球。
$ brew -v
如果終端輸出版本號街图,那么就ok啦!@凉埂餐济!? 如果沒有你要安裝homebrew,那么你要自己手動安裝homebrew。安裝指令如下:
$ ruby -e "$(curl - fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
注意這里 l 不是數(shù)字1, 是小寫的L胆剧。等一會Homebrew就安裝成功了絮姆。
6.安裝cocoa pods
為了防止因?yàn)間em太老而造成問題,要更新gem:
$ sudo gem update --system
安裝cocoa pods
$ sudo gem install cocoapods
如果這條指令沒有響應(yīng)的話秩霍,那么你要使用淘寶的Ruby鏡像來訪問cocoapods,依次執(zhí)行如下指令將ruby源替換成國內(nèi)的淘寶的源:
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
現(xiàn)在要驗(yàn)證你是否成功替換了ruby鏡像
$ gem sources -l
如果出現(xiàn)https://ruby.taobao.org/ 那么表示成功了篙悯;現(xiàn)在再安裝cocoa pods。
$ sudo gem install cocoapods
到目前為止cocoapods已經(jīng)安裝完成了铃绒。
7.使用cocoa pods來安裝第三方庫
這里我以常用的第三方庫為例(AFNetworking和MJRefresh)
首先我們要cd到你的項(xiàng)目目錄鸽照,你如果不知道你的項(xiàng)目路徑,那么你就打開你的工程
看見沒有颠悬? Full Path 這里就有的矮燎, 你只需要/Users/KingTortoise/Desktop/zhonggang/就夠了定血,后面的工程路徑不需要的。
$ cd /Users/KingTortoise/Desktop/zhonggang/
然后創(chuàng)建Podfile文件
$ vim Podfile
此時會進(jìn)入到Podfile 文件的編寫界面中诞外。按下 i 鍵就可以進(jìn)行編寫了 澜沟。 編寫的內(nèi)容一下要注意,否則的話你有可能入坑∠恳辏現(xiàn)在我寫一個例子
platform :ios,'10.0'
use_frameworks!
target 'zhonggang' do
pod 'AFNetworking','~>3.0'
pod 'MJRefresh','~>3.0'
end
上面的 ‘10.0’代表著你該項(xiàng)目目前支持的最高版本茫虽。 use_frameworks! 這句話你一定要加,不然后面會出現(xiàn)問題的既们。 ? ‘zhonggang’是我的項(xiàng)目名稱濒析,你要填寫你自己的項(xiàng)目名稱。 ?‘~>3.0’代表我們要導(dǎo)入的第三方庫的版本不低于3.0啥纸。 我就是這樣寫的悼枢,沒有出現(xiàn)問題~~
當(dāng)你編寫完成后,按下 ESC鍵退出編輯脾拆,然后按 ?冒號(:)wq退出馒索。 ?注意是 (?:wq?)?
最后執(zhí)行命令,下載第三方庫
$ pod install
這個下載過程比較的漫長名船,而且沒有給你任何的提示绰上,網(wǎng)上有一個方法,就是查看下載內(nèi)容的大小渠驼。 ? ? ?
?你要打開另一個終端界面蜈块,cd到它的下載目錄,查看文件大小
$ cd ~/.cocoapods
$ du -sh*
每隔幾分鐘查看一次迷扇。我這次下載了兩個第三方庫百揭,一共大概390M。
當(dāng)你下載完成后蜓席,你會發(fā)現(xiàn)你的項(xiàng)目包中多處了四個文件
當(dāng)你看到這些的時候器一,你已經(jīng)完成的差不多了。在你以后的開發(fā)過程中厨内,你要使用上圖的xcworkspace來進(jìn)行編程祈秕,而不是使用以前的xcodeproj來編程。
打開xcworkspace后會發(fā)現(xiàn)不同的雏胃。
看見沒有请毛,我們的第三方庫自動的加進(jìn)來了。
8.在工程中使用第三方庫
在這里我以swift語言為例子瞭亮,如果我們想使用第三方庫的話方仿,我們只需要在當(dāng)前類上 import 第三方庫就行了,后面就可以使用了。
很多朋友到這里就發(fā)現(xiàn)問題了仙蚜,咦此洲,我這個怎么不提示啊,還報錯鳍征,怎么回事笆螋帷面徽?好吧艳丛,我就是遇到這個問題的都比。
解決方法:點(diǎn)擊的工程Target->Build Settings菜單趟紊; ? 找到 “User Header Search Paths ”設(shè)置項(xiàng)氮双; ? 新增加一個值 ? “$(PODS_ROOT)”,注意沒有雙引號蚌佟4鞑睢! 并且后邊選擇 “recursive”铛嘱。這樣就ok了暖释。關(guān)于這一方面的解決方法,網(wǎng)上有很多墨吓,我這就不詳細(xì)寫了球匕。 ? 最氣人的是我這樣設(shè)置了,但是并沒有什么卵用帖烘,還是沒有提示和報錯亮曹。啊啊啊,氣死我了秘症,搞了整整一天照卦,這個問題把我困住。好吧乡摹,我就不發(fā)牢騷了役耕,我說說我怎么解決的吧。我先睡了一覺聪廉,然后第二天早上起來又試了一次啊蹄葱,我X, 還是沒好锄列,哈哈图云。再然后我就運(yùn)行下程序,再試邻邮,好了(一臉懵逼)竣况。
總結(jié)一下這個解決辦法就是:
點(diǎn)擊的工程Target->Build Settings菜單;? 找到 “User Header Search Paths ”設(shè)置項(xiàng)筒严;? 新增加一個值? “$(PODS_ROOT)”丹泉,注意沒有雙引號扒橛!摹恨! 并且后邊選擇 “recursive”筋岛。如果這樣還是沒有用的話,那你就運(yùn)行下程序再試試看晒哄。
結(jié)束語
到這里我也寫的差不多了睁宰,我就簡單總結(jié)下我的使用過程吧
1.查看ruby版本
2.安裝rvm
3.利用rvm升級ruby
4.安裝cocoapods
5.利用cocoapods下載第三方庫
6.在工程中使用第三方庫
大體上的步驟就這么的多,但是還有很多的細(xì)節(jié)沒有寫出寝凌。我也把我遇到的一些問題和解決方法寫了出來柒傻,希望對你們有一定的幫助。當(dāng)然我也是一個新手较木,這也是我第一次寫博客红符,內(nèi)容上有些乏味,甚至還存在著一些問題伐债,希望廣大讀者諒解预侯,指出我的錯誤和不足之處。最后峰锁,十分感謝你的耐心閱讀??萎馅。