割下背景: 剛學(xué)ios不久,說(shuō)實(shí)話(huà)踩過(guò)很多坑,以前是搞android的,在andorid studio工具中,導(dǎo)入第三方庫(kù)如同喝水那么簡(jiǎn)單,可到了ios中,我遇到了一點(diǎn)疑惑,并且把自己遇到的一些坑踩下,并寫(xiě)出來(lái),但愿能對(duì)您有點(diǎn)幫助.(因?yàn)榫幊淘?默認(rèn)輸入英文標(biāo)點(diǎn),忘各位理解下-_-);
ios 導(dǎo)入第三方庫(kù)主要有兩種:
一: 直接導(dǎo)入庫(kù)的整個(gè)文件夾:
(這里我們以AFNetworking庫(kù)為例)?
步驟:1.首先我們?nèi)ithub下載該庫(kù)(地址:https://github.com/AFNetworking/AFNetworking)
步驟:2.下載完成之后解壓得到如下圖中的文件:
步驟:3.將AFNetworking文件夾直接放到你項(xiàng)目中,此時(shí)你就可以使用該庫(kù)了
二:Cocospods 導(dǎo)入,
方式一中的方法有個(gè)缺陷,就是如果你導(dǎo)入多個(gè)庫(kù)時(shí),并且其中一個(gè)庫(kù)又對(duì)另外一個(gè)庫(kù)又依賴(lài),這樣就導(dǎo)致了相關(guān)庫(kù)的重復(fù)導(dǎo)入,這顯然不是我們想要的結(jié)果,于是一種新的導(dǎo)入方法出現(xiàn): Cocoapods導(dǎo)入.(本文重點(diǎn)講該方式的導(dǎo)入)
1.工欲善其事必先利其器,首先我們需要下載coccoapds
打開(kāi)命令行(別人我命令行是什么,我也不知道-_-),
執(zhí)行 ?sudo gem install cocoapods?
ps:假如提示 gem找不到,你可能需要安裝Ruby環(huán)境,一般mac自帶Ruby環(huán)境(若沒(méi)有,具體就請(qǐng)自行g(shù)oogle或者百度參考安裝).
下載可能會(huì)很慢,大天朝你懂得
ps: 可能這一步會(huì)出現(xiàn)坑:
可能執(zhí)行命令后會(huì)出現(xiàn)類(lèi)似如下錯(cuò)誤
ERROR:? While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
解決辦法1: 指標(biāo)又治本的方法
執(zhí)行命令: /usr/bin/ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"? //安裝homebrew
然后執(zhí)行: brew install ruby ? ? 即可解決
解決辦法2: 治標(biāo)不治本
執(zhí)行: sudo gem install -n /usr/local/bin cocoapods ? ? ? ? 即可解決
步驟二:為了以后軟件的更新方便,你可能需要更換數(shù)據(jù)源(覺(jué)得麻煩或者換了源無(wú)效果的的同學(xué)可以忽略該步驟,直接使用默認(rèn)源)
首先執(zhí)行:gem sources 可以看到我們當(dāng)前使用的數(shù)據(jù)源:
更換數(shù)據(jù)源 https://gems.ruby-china.org/:? ? ?
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/ ? //更換該數(shù)據(jù)源(以前的文章說(shuō)的淘寶源已經(jīng)全部轉(zhuǎn)到該源)
此時(shí)你可以再次執(zhí)行g(shù)em sources 就會(huì)發(fā)現(xiàn)當(dāng)前的使用源變成了我們新替換的https://gems.ruby-china.org/ ?(注意我們要保證同時(shí)只存在一種數(shù)據(jù)源)
ps:這里你可能又會(huì)遇到坑(只能說(shuō)小編太不幸了),出現(xiàn)如下錯(cuò)誤
這是ssl證書(shū)引起的錯(cuò)誤,有兩個(gè)解決辦法:
解決方法1:?
將上面我們新加的數(shù)據(jù)源 https://gems.ruby-china.org/? 改成 http://gems.ruby-china.org/ (不帶https)
解決方法2: ?(參考了Senjougahara文章:http://www.reibang.com/p/17043faee2e6) ?
注:強(qiáng)烈建議使用該方法--以防后面的命令出現(xiàn)ssl的問(wèn)題
更新Ruby環(huán)境
1.安裝rvm$ curl -L get.rvm.io | bash -s stable
2.裝載rvm$ source ~/.rvm/scripts/rvm
3.安裝2.3.0版本ruby$ rvm install 2.3.0
4.將2.3.0設(shè)為默認(rèn)$ rvm use 2.3.0 --default
然后:
cd ~/.rvm/user/ssl ? ? ?//cd 到ssl目錄,若沒(méi)有ssl文件夾,新建一個(gè)
sudo curl -O http://curl.haxx.se/ca/cacert.pem ?//下載證書(shū)文件
sudo mv cacert.pem cert.pem ? //重命名文件
問(wèn)題即可解決
步驟三:更改數(shù)據(jù)源之后,需要進(jìn)行一些初始化配置(這一步很重要)
執(zhí)行: pod setup
ps:這個(gè)過(guò)程非常漫長(zhǎng),耐心等待.你可能會(huì)遇到各種問(wèn)題,小編就是被這整的要死要活的,下面簡(jiǎn)單介紹踩過(guò)得坑(不過(guò)還是祝愿各位同學(xué)順利安裝吧)
坑1: 執(zhí)行命令后出現(xiàn)如下錯(cuò)誤
報(bào)錯(cuò)原因主要是無(wú)法下載cocoapods的主目錄,
解決辦法1:
假如你只安裝了一個(gè)版本的xcode ?(ps: 如果你是網(wǎng)上下載的xcode安裝包直接解壓的xcode,記得將xcode移入application中,小編當(dāng)時(shí)就是沒(méi)有做這一步)
執(zhí)行 ?sudo xcode-select-switch/Applications/Xcode.app/Contents/Developer
假如你安裝了多個(gè)版本的xcode
執(zhí)行: sudo xcode-select-switch/Applications/Xcode7.3.1.app/Contents/Developer ? //中間是你當(dāng)前使用的xcode的版本
完成之后再次pod setup
? ?若上面沒(méi)有解決,可采用坑2中手工導(dǎo)入,
坑2: 可能一直停留在以下輸出
Setting up CocoaPods master repo
我們可以查看下載進(jìn)度?
cd ~/.cocoapods/ ? ? ? //cd 到該目錄
du -sh ? ? ? ? //查看該目錄的大小
過(guò)幾分鐘查看一次大小,假如大小無(wú)變化,說(shuō)明下載有問(wèn)題,這個(gè)下載的完整大小大概100M左右
解決辦法:(該方式也是小編最后的采用的解決方式,小編太不幸了,~~~~(>_<)~~~~)
可以手動(dòng)去下載配置文件:?github.com/CocoaPods/Specs/releases?; ??
下載完成之后解壓得到如下幾個(gè)文件
,然后將得到的這幾個(gè)文件復(fù)制到~/.cocoapods/repos/master/ ? ?目錄下如下結(jié)構(gòu)
這里需要注意的是:/master/.git ? ?這個(gè)文件是執(zhí)行pod setup時(shí)生成的git配置文件夾,有時(shí)你強(qiáng)行停止終端時(shí),該目錄頁(yè)會(huì)消失,你可以在強(qiáng)行停止終端前將該文件夾拷貝出來(lái),然后加入我們下載的解壓文件即可.
上述目錄都是隱藏目錄(針對(duì)不知道怎么顯示隱藏目錄的同學(xué)執(zhí)行下面命令:
defaults write com.apple.finder AppleShowAllFiles -bool true ? //顯示所有隱藏文件
步驟4:
通過(guò)命令cd 到你的工作目錄(注意這里一定是根目錄):
然后 執(zhí)行: ?vim Podfile ? ? //創(chuàng)建一個(gè)Podfile文件 ?
或者執(zhí)行 ?pod init ? ? ?//自動(dòng)創(chuàng)建一個(gè)Podfile文件 (推薦)
這里我們以pod init創(chuàng)建的Podfile為例:
使用 open -a xcode Podfile ? //使用xcode 打開(kāi)該文件
內(nèi)容如下:
然后保存退出即可,Podfile文件編寫(xiě)完成
ps:細(xì)心的同學(xué)可能會(huì)發(fā)現(xiàn),AFNetworking 的github上推薦是這樣寫(xiě)的,
source 'https://github.com/CocoaPods/Specs.git'platform:ios,'8.0'
target 'TargetName' do
pod 'AFNetworking','~> 3.0'
end
其實(shí)仔細(xì)對(duì)照上面我們的Podfile文件就會(huì)發(fā)現(xiàn), 除了pod 'AFNetworking','~> 3.0' 這句系統(tǒng)沒(méi)有生成,其他的系統(tǒng)都生成了(這也是上面我推薦同學(xué)使用pod init 命令去生成Podfile的原因);
步驟四: ?Podfile文件編寫(xiě)完成之后,開(kāi)始第三方庫(kù)的安裝....終于到安裝了,有點(diǎn)小激動(dòng)-_-
命令行到我們剛才的Podfile的目錄(也就是項(xiàng)目的跟目錄)
執(zhí)行: ?pod install ? ??
出現(xiàn)
上訴操作之后,我們的庫(kù)就已經(jīng)導(dǎo)入到了項(xiàng)目中了,你可以發(fā)現(xiàn)你的項(xiàng)目目錄中多了一個(gè)XX.xcworkspace 文件,以后我們使用xcode打開(kāi)項(xiàng)目就直接打開(kāi)該文件即可(切記不要再次通過(guò)XX.xcodeproj文件打開(kāi)項(xiàng)目,否者會(huì)編譯出錯(cuò));?
重新打開(kāi)項(xiàng)目之后會(huì)有如下圖:
代表我們已經(jīng)成功導(dǎo)入了.
三 至此,我們的cocoapods 的安裝和第三方庫(kù)的導(dǎo)入就完成了.
最后:祝愿大家學(xué)習(xí)之路,天天向上,以上內(nèi)容都是小編親測(cè),可能本人寫(xiě)作水平有限,文章內(nèi)容僅供參考,如果幫助到了各位童鞋,請(qǐng)點(diǎn)個(gè)關(guān)注,謝謝啦.