隨著工作的年限的增長(zhǎng),會(huì)經(jīng)常的接觸到不同的三方開源框架。比如SDWebImage,AFNetworking,MJRefresh,可能某個(gè)類又用到其他的類庫(kù),如果使用它,就必須要下載其他的庫(kù)。而其他的庫(kù),如果有關(guān)聯(lián)著別的庫(kù),這樣的話,子子孫孫無(wú)窮無(wú)盡,豈不是頭疼死?那么如何處理這種情況呢?
使用 CocoaPods 去管理類庫(kù),通過(guò)CocoaPods 一行命令解決所有,那么,CocoaPods 如何使用呢?
一、
-? 安裝CocoaPods時(shí)我們要訪問(wèn)cocoapods.org,該網(wǎng)站可能被我們大天朝墻了,這樣下載安裝可能會(huì)是龜速,幸好我們可以用淘寶或阿里云的Ruby鏡像來(lái)訪問(wèn)該網(wǎng)站,方法如下:
- a、檢查你的ruby源:? gem sources -l
- b、移除原有的ruby源:? gem sources --remove https://rubygems.org/
- c、gem sources -ahttps://ruby.taobao.org/? 或者
- gem sources -ahttp://rubygems-china.oss.aliyuncs.com
- d、gem sources -l?? 檢查使用替換鏡像位置成功
- e、gem -v? 檢查當(dāng)前gem的版本
- f、sudo gem update —system 用超級(jí)權(quán)限更新gem
- 安裝 RVM (Ruby Version
Manager) :
- a. 檢查一下是否安裝正確: rvm -v
- b. curl -L https://get.rvm.io | bash -sstable
- c. source ~/.rvm/scripts/rvm
- d. 檢查一下是否安裝正確: rvm -v
- 用 RVM 升級(jí) Ruby 環(huán)境(mac自帶的ruby是 2.0.0):
- 列出ruby的所有版本rvmlist known
- 安裝最新的ruby版本 rvm
install 最新的版本號(hào)如2.2
- 設(shè)置最新版本為默認(rèn)?? rvm 2.3.0—default?? 或者 rvm use system(設(shè)置為系統(tǒng)的版本)
- 安裝Cocoapods:???? a. sudo gem install cocoapods? 若出Operation not
permitted - /usr/bin/xcodeproj錯(cuò)了可執(zhí)行 sudo gem install -n /usr/local/bin cocoapods (更新:pod
update);若出現(xiàn) activesupport requires Ruby version >= 2.2.2錯(cuò)誤,執(zhí)行更新ruby版本????? b. pod setup初始化cocoapods(第1次會(huì)出現(xiàn) Setting
up CocoaPods master repo ,表示正在下載,若出現(xiàn)56的錯(cuò)誤代碼:
- 首先,刪除.cocoapods目錄,在終端輸入以下命令:
cd ~/.cocoapods/
sudo -rm -rf ~/.cocoapods/
然后,重新下載安裝,在終端輸入以下命令:
pod setup
) (1.which pod :查詢pod的路徑,是否安裝成功 2. 遍歷文件夾路徑并查看當(dāng)前文件夾的大小:cd ~/.cocoapods 和? du -sh * 3.which pod查看pod的路徑)
- Cocoa pods的初使用查詢:pod search 第三方? 如:AFNetworking
- 正式使用Cocoa pods:
- cd CocoaPodsDemo
(首先創(chuàng)建一個(gè)X-code項(xiàng)目,先起名為CocoaPodsDemo,進(jìn)入該文件夾,將項(xiàng)目創(chuàng)建到桌面為例)
- 進(jìn)入x-code工程文件夾后查看目錄:
- ls
-? 創(chuàng)建Podfile文件(負(fù)責(zé)管理什么庫(kù)需要下載):
$touch Podfile
- pod search AFNetworking(搜索要下載的第三方庫(kù))
- 編輯podfile(兩種方式): cd 項(xiàng)目路徑; touch
Podfile(創(chuàng)建Podfile文件)
- a. 打開Profile文件,并輸入(TestPod為項(xiàng)目的名字)
- platform :ios, '8.0'
- #use_frameworks!個(gè)別需要用到它,比如ReactiveCocoa
target 'TestPod' do
-??pod 'AFNetworking', '~> 2.6'
-??pod 'ORStackView', '~> 3.0'
- end
?b.vim Podfile進(jìn)入終端編輯界面,輸入
- (TestPod 為項(xiàng)目的名字)
- platform :ios, '8.0'
- #use_frameworks!個(gè)別需要用到它,比如reactiveCocoa
target 'TestPod' do
-??pod 'AFNetworking', '~> 2.6'
-??pod 'ORStackView', '~> 3.0'
- end
按esc,按: ,再按wq enter。(
#use_frameworks!個(gè)別需要用到它,比如reactiveCocoa
)
- pod install(開始安裝)等待即:你主需要關(guān)心后綴為.xcworkspace的文件,用Xcode打開?,F(xiàn)在有一個(gè)Pods項(xiàng)目在你的項(xiàng)目工作區(qū)
一. 刪除篇:刪除項(xiàng)目中已經(jīng)配置的類庫(kù)
- open -e pod file (打開Podfile文件,刪除JSONKit該行,即:
platform:ios, '7.0'? pod 'AFNetworking', '~> 2.1.0'pod'JSONKit', '~> 1.5pre'(刪除該行)
2.cd到當(dāng)前項(xiàng)目目錄下,重新執(zhí)行pod
install命令。
?? 輸出信息如下(留意Removing
JSONKit)
3.重新打開xcworkspace文件,可以看到JSONKit被移除,再次編譯將會(huì)通過(guò)。
大招:從整個(gè)項(xiàng)目中移除CocoaPods
如果你覺得CocoaPods讓你的項(xiàng)目出現(xiàn)了問(wèn)題,不好用甚至是惡心,想將其從項(xiàng)目中徹底移除,也有方法:
1.刪除工程文件夾下的Podfile、Podfile.lock和Pods文件夾。
2.刪除xcworkspace文件。
3.打開xcodeproj文件,刪除項(xiàng)目中的libpods.a和Pods.xcconfig引用:
4.打開Build Phases選項(xiàng),刪除Check
Pods Manifest.lock和Copy Pods Resources: