2018.8.28https://gems.ruby-china.org域名更新為https://gems.ruby-china.com
2017.12.1 更新ruby源
最近安裝CocoaPods遇到了很多的問題霉涨,導(dǎo)致安裝了3天才完成划滋,對缓呛!你沒有看錯丙曙,安裝了整整3天(當中也有網(wǎng)絡(luò)的問題)。所以有了這篇文章。
當前電腦版本: macOS High Sierra 10.13.1
xcode版本: Version 9.1 (9B55)
一、CocoaPods簡介
CocoaPods負責管理iOS項目中第三方框架。CocoaPods的項目源碼在Github上管理耸棒。項目從2011年8月12日開始,CocoaPods的出現(xiàn)使得我們可以節(jié)省設(shè)置和更新第三方開源庫的時間。(練習時為了速度一般我都是直接導(dǎo)入工程中报辱,個人比較討厭寫純代碼在Podfile文件中)
二与殃、開始安裝
安裝需要用到Ruby单山,雖然Mac自帶了Ruby,不過版本有點老了幅疼,最好更新一下
sudo gem update --system
接下來輸入系統(tǒng)密碼就可以安裝了米奸,輸入密碼時不會顯示的,輸完回車就行了(黑色塊是我個人加上去的爽篷,遮擋用戶名的)
輸入密碼
因為Ruby的軟件源rubygems.org被屏蔽了悴晰,所以要更換源
gem sources --addhttps://gems.ruby-china.com/--removehttps://rubygems.org/
添加源成功
接下來查看下源路徑是否更換了
gem sources -l
和上圖一樣的源就成功了
**請確保只有 gems.ruby-china.com! **
然后就可以更新Ruby了
sudo gem update --system
接下來安裝Cocoapods了
sudo gem install cocoapods
不過有可能出錯(我就是出錯了),出錯的話執(zhí)行下面的命令
sudo gem install -n /usr/local/bin cocoapods
install出錯
安裝時會輸出很多文件以及進度條
install成功
安裝完后你可以輸入下面的命令查看是否成功逐工,當前CocoaPods版本為1.0.0
pod --version
查看是否安裝成功
安裝完cocoapods后進行最蛋疼的一步铡溪,設(shè)置倉庫,就是把所有上傳到cocoapods的第三方框架下載每個版本和網(wǎng)絡(luò)地址以及一些其他描述信息到本地泪喊,因為服務(wù)器在國外所以比較蛋疼棕硫,網(wǎng)速好的直接無視我的話輸完下面命令后跳到下載中說明-。-
倉庫里裝的東西
pod setup
等待下載完
下載完成圖
下載完就大功告成了(沒有網(wǎng)絡(luò)問題就可以跳轉(zhuǎn)到三袒啼、開始使用了).
網(wǎng)速不好哈扮,老是報錯的這里!(切換到https://gems.ruby-china.com/源后基本不用擔心網(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上下載(不過比較慢),還可以在我的網(wǎng)盤下載? ? // Tip:手動下載可以用國內(nèi)的git服務(wù)器拷貝,然后下載下來,并且以后更新也可以直接同步更新.
百度網(wǎng)盤2018.08.20更新
下載完成后你可以輸入
pod setup
然后control+c 中斷须床,目的是讓他幫你創(chuàng)建文件夾
當然你也可以手動創(chuàng)建文件夾铐料,但是文件夾是隱藏的所以你需要在終端輸入下面命令然后command+option+esc 重新啟動一下Finder,就可以看到隱藏文件豺旬,把下面的true改為false就可以不顯示隱藏文件
defaults write com.apple.finder AppleShowAllFiles -bool true
隨后在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'dopod'SDWebImage','~>3.7.6'pod'Masonry','~>1.0.0'end
platform是平臺
9.3是當前的版本(下圖可以查看你的iOS版本)
Test填寫你的target名稱(target名見第二張圖),pod 后面的就是你需要的框架,'~>里面就是版本',官網(wǎng)的案例是寫了版本號的狐援。(9.11日測試不寫版本號默認是最新版本,不知道之前出了什么錯誤- -)
查看iOS版本
這些就是Target名
官網(wǎng)案例
寫完后按Esc 然后:wq 意思是保存并退出
編寫并保存退出
接著輸入究孕,就會把Podfile文件里寫的文件下載到當前文件夾啥酱,并且創(chuàng)建.xcworkspace
pod install
安裝完成時的文件
接下來就可以打開Test(target名).xcworkspace文件導(dǎo)入頭文件編寫你的程序了。
四厨诸、編寫小問題
我在編寫時還出現(xiàn)了一點小問題镶殷,當你導(dǎo)入頭文件時,有時不會提示泳猬,不會提示就表示可能會打錯批钠,你可以control+B編譯一下再嘗試宇植,如果還是不行就按照下面的圖進行一下配置
$(PODS_ROOT)
選擇recursive
導(dǎo)入頭文件提示
之后我去看了下官網(wǎng)得封,官網(wǎng)的導(dǎo)入方式是尖括號<里面寫導(dǎo)入第三方的文件夾名+頭文件>
官網(wǎng)寫法
這里,又一個問題來了指郁,當你使用Masonry的時候需要進行宏定義忙上,因為什么時候用mas_,什么時候包裝數(shù)據(jù)類型闲坎,這些實在懶得記...而當你用官網(wǎng)的方式導(dǎo)入疫粥,那種方式不能支持宏
編譯時
運行時報錯
這時候就需要改成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自帶的"文本編輯"要取消智能引號
編輯-替換-智能引號 取消勾選
關(guān)閉智能引號
不過我建議最好是用vim,如果嫌麻煩還可以用xcode打開
打開方式
始終以Xcode打開
剩下有些編寫時出錯的問題可能是多了個空格或者什么字符打錯了/使用了中文字符等绣溜,看編譯器報的錯一般就能解決
如果不能解決就試試從執(zhí)行安裝命令慷彤,依次執(zhí)行之前的命令
sudo gem install cocoapods
上面報錯就執(zhí)行sudo gem install -n /usr/local/bin cocoapods
pod setup
第一次寫教程文章,因為個人原因不喜歡加怖喻。句號底哗,不知道你們是否看的過去,如果有更好的排版方式意見或者遇到什么問題歡迎在下方評論锚沸!
可能寫的有點啰嗦了跋选,最初我想的就是給超小白寫的,我個人比較喜歡看圖哗蜈,所以基本上保持每幾個動作截取一張圖前标,看的更直觀坠韩,但是有些圖在最初安裝的時候沒想到要寫文章所以就沒有截取到,非沉读校可惜同眯,細心的朋友會發(fā)現(xiàn)我的終端樣式不一樣,是在后面幫同學安裝時重新截的圖唯鸭,如果對你有幫助须蜗,那就再好不過了!
作者:BIMiracle
鏈接:http://www.reibang.com/p/1bb0ad42cb2e
來源:簡書
簡書著作權(quán)歸作者所有目溉,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處明肮。