2018.8.28https://gems.ruby-china.org域名更新為https://gems.ruby-china.com
2017.12.1 更新ruby源
最近安裝CocoaPods遇到了很多的問題歹啼,導(dǎo)致安裝了3天才完成晋涣,對(duì)!你沒有看錯(cuò)算吩,安裝了整整3天(當(dāng)中也有網(wǎng)絡(luò)的問題)。所以有了這篇文章偎巢。
當(dāng)前電腦版本: macOS High Sierra 10.13.1
xcode版本: Version 9.1 (9B55)
一兼耀、CocoaPods簡介
CocoaPods負(fù)責(zé)管理iOS項(xiàng)目中第三方框架。CocoaPods的項(xiàng)目源碼在Github上管理翠订。項(xiàng)目從2011年8月12日開始,CocoaPods的出現(xiàn)使得我們可以節(jié)省設(shè)置和更新第三方開源庫的時(shí)間遵倦。
二、開始安裝
安裝需要用到Ruby梧躺,雖然Mac自帶了Ruby,不過版本有點(diǎn)老了掠哥,最好更新一下
sudo gem update --system
接下來輸入系統(tǒng)密碼就可以安裝了巩踏,輸入密碼時(shí)不會(huì)顯示的,輸完回車就行了(黑色塊是我個(gè)人加上去的续搀,遮擋用戶名的)
輸入密碼
因?yàn)镽uby的軟件源rubygems.org被屏蔽了塞琼,所以要更換源
gem sources --addhttps://gems.ruby-china.com/--removehttps://rubygems.org/
添加源成功
接下來查看下源路徑是否更換了
gem sources -l
和上圖一樣的源就成功了
**請(qǐng)確保只有 gems.ruby-china.com **
然后就可以更新Ruby了
接下來安裝Cocoapods了
sudo gem install cocoapods
不過有可能出錯(cuò)(我就是出錯(cuò)了),出錯(cuò)的話執(zhí)行下面的命令
sudo gem install -n /usr/local/bin cocoapods
install出錯(cuò)
安裝時(shí)會(huì)輸出很多文件以及進(jìn)度條
install成功
安裝完后你可以輸入下面的命令查看是否成功禁舷,當(dāng)前CocoaPods版本為1.0.0
pod --version
查看是否安裝成功
安裝完cocoapods后進(jìn)行最蛋疼的一步彪杉,設(shè)置倉庫,就是把所有上傳到cocoapods的第三方框架下載每個(gè)版本和網(wǎng)絡(luò)地址以及一些其他描述信息到本地牵咙,因?yàn)榉?wù)器在國外所以比較蛋疼派近,網(wǎng)速好的直接無視我的話輸完下面命令后跳到下載中說明-。-
倉庫里裝的東西
pod setup
等待下載完
下載完成圖
下載完就大功告成了(沒有網(wǎng)絡(luò)問題就可以跳轉(zhuǎn)到三洁桌、開始使用了).
**網(wǎng)速不好渴丸,老是報(bào)錯(cuò)的這里!
之前我也嘗試過使用CocoaPods的鏡像索引使用國內(nèi)的鏡像,但是沒有效果谱轨,oschina的應(yīng)該是因?yàn)槿肆髁吭L問大戒幔,所以設(shè)置了驗(yàn)證碼,而gitcafe馬上要停止服務(wù)了土童,所以沒辦法了(如果你知道還有其他鏡像請(qǐng)聯(lián)系我溪食,貢獻(xiàn)出來讓我們這些網(wǎng)速差的小白能愉快的安裝)
一直報(bào)錯(cuò),503娜扇、argumenterror , syntax error on line 4, col 0: `min:0.29.0` 等等错沃,都是你的網(wǎng)絡(luò)原因?qū)е碌?/p>
這就要手動(dòng)下載配置,可以在上面的oschina和gitcafe鏈接中下載雀瓢,也可以在github上下載(不過比較慢)
更新一個(gè)手動(dòng)下載到本地的方法!!!
采用國內(nèi)的免費(fèi)服務(wù)器同步后下載:鏈接
下載完成后你可以輸入
pod setup
然后control+c 中斷枢析,目的是讓他幫你創(chuàng)建文件夾
當(dāng)然你也可以手動(dòng)創(chuàng)建文件夾,但是文件夾是隱藏的所以你需要在Finder頁面使用快捷鍵command + shift + .
隨后在Finder點(diǎn)擊 前往>前往文件夾 中前往文件刃麸,輸入下面指令
~/.cocoapods
前往文件也可以按快捷鍵shift+command+G
文件結(jié)構(gòu)
對(duì)比一下可以發(fā)現(xiàn)我們下載的文件和安裝后的文件只是改了一下文件名泊业,把最外面的文件改為master吁伺,然后扔到~/.cocoapods/repos文件夾下就完成設(shè)置了
對(duì)比圖
下載中說明
下載中如果不放心篮奄,可以新建一個(gè)終端窗口分別輸入下面兩條命令查看下載了多少窟却,下載完成的文件大小如下(2016.5.25日下載的文件)
cd ~/.cocoapods
du -sh *
完成后的文件大小
三夸赫、開始使用
設(shè)置完成后就可以開始使用了茬腿,先創(chuàng)建一個(gè)Project,然后創(chuàng)建一個(gè)single View Application到桌面控妻,終端中輸入cd+空格弓候,把剛剛創(chuàng)建到桌面的文件夾拖到終端中,回車
接下來創(chuàng)建Podfile文件夸研,并編輯
vim Podfile
進(jìn)入Podfile后輸入i編輯狀態(tài)(可以查看左下角有個(gè)INSERT)亥至,進(jìn)入輸入下面命令
platform:ios,'9.3'use_frameworks!target'Test'dopod'SDWebImage','~>3.7.6'pod'Masonry','~>1.0.0'end
<a name="Podfile" id="Podfile">Podfile格式解析</a>
platform是平臺(tái)
ios, '9.3'是指定所支持系統(tǒng)和最低版本
Test填寫你的target名稱(target名見下圖),pod 后面的就是你需要的框架,'~>里面就是版本',官網(wǎng)的案例是寫了版本號(hào)的姐扮。
這些就是Target名
官網(wǎng)案例
寫完后按Esc 然后:wq 意思是保存并退出
編寫并保存退出
接著輸入茶敏,就會(huì)把Podfile文件里寫的文件下載到當(dāng)前文件夾惊搏,并且創(chuàng)建.xcworkspace
pod install
安裝完成時(shí)的文件
接下來就可以打開Test(target名).xcworkspace文件導(dǎo)入頭文件編寫你的程序了恬惯。
四酪耳、編寫小問題
我在編寫時(shí)還出現(xiàn)了一點(diǎn)小問題葡兑,當(dāng)你導(dǎo)入頭文件時(shí)赞草,有時(shí)不會(huì)提示厨疙,不會(huì)提示就表示可能會(huì)打錯(cuò)沾凄,你可以control+B編譯一下再嘗試知允,如果還是不行就按照下面的圖進(jìn)行一下配置
$(PODS_ROOT)
選擇recursive
導(dǎo)入頭文件提示
之后我去看了下官網(wǎng)温鸽,官網(wǎng)的導(dǎo)入方式是尖括號(hào)<里面寫導(dǎo)入第三方的文件夾名+頭文件>
官網(wǎng)寫法
這里,又一個(gè)問題來了竟终,當(dāng)你使用Masonry的時(shí)候需要進(jìn)行宏定義统捶,因?yàn)槭裁磿r(shí)候用mas_柄粹,什么時(shí)候包裝數(shù)據(jù)類型驻右,這些實(shí)在懶得記...而當(dāng)你用官網(wǎng)的方式導(dǎo)入,那種方式不能支持宏
編譯時(shí)
運(yùn)行時(shí)報(bào)錯(cuò)
這時(shí)候就需要改成import "Masonry.h" ,很奇怪的是我現(xiàn)在導(dǎo)入有提示,而之前導(dǎo)入一直沒出提示茵瘾。
正確的導(dǎo)入文件方法
五圣絮、常見的問題
### ErrorArgumentError - invalid byte sequenceinUS-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`blockindownload_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 issuesinthe future, you shouldnotuse TextEditforediting it.If you arenotusing TextEdit, you should turn off smart quotesinyour editor of choice.
提示你使用mac自帶的"文本編輯"要取消智能引號(hào)
編輯-替換-智能引號(hào) 取消勾選
關(guān)閉智能引號(hào)
不過我建議最好是用vim,如果嫌麻煩還可以用xcode打開
打開方式
始終以Xcode打開
剩下有些編寫時(shí)出錯(cuò)的問題可能是多了個(gè)空格或者什么字符打錯(cuò)了/使用了中文字符等棒搜,看編譯器報(bào)的錯(cuò)一般就能解決
如果不能解決就試試從執(zhí)行安裝命令力麸,依次執(zhí)行之前的命令
sudo gem install cocoapods
上面報(bào)錯(cuò)就執(zhí)行sudo gem install -n /usr/local/bin cocoapods
pod setup
常用命令
更新本地倉庫
pod repo update
從本地已有倉庫更新當(dāng)前項(xiàng)目中的第三方(不更新本地倉庫)
pod update --verbose --no-repo-update
可能寫的有點(diǎn)啰嗦了克蚂,最初我想的就是給超小白寫的筋讨,我個(gè)人比較喜歡看圖,所以基本上保持每幾個(gè)動(dòng)作截取一張圖赤屋,看的更直觀,但是有些圖在最初安裝的時(shí)候沒想到要寫文章所以就沒有截取到谜慌,非承婪叮可惜令哟,細(xì)心的朋友會(huì)發(fā)現(xiàn)我的終端樣式不一樣,是在后面幫朋友安裝時(shí)重新截的圖晴竞,如果對(duì)你有幫助噩死,那就再好不過了已维!
作者:BIMiracle
鏈接:http://www.reibang.com/p/1bb0ad42cb2e
來源:簡書
簡書著作權(quán)歸作者所有已日,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處飘千。