Carthage和CocoaPods都可以用來(lái)管理第三方框架饿自。
本文的目的是記錄一下Carthage的使用方法,不過(guò)為了全面一點(diǎn)龄坪,也加上了CocoaPods昭雌。
一、Carthage
Carthage對(duì)項(xiàng)目無(wú)侵入性健田,管理的依賴只需編譯一次烛卧,并且可以與CocoaPods并存。
注意:Carthage需要iOS 8+
1. 安裝carthage
1.1 安裝Homebrew
到下面這個(gè)網(wǎng)站安裝Homebrew
1
https://brew.sh/index_zh-cn
或者直接在終端輸入下面的指令
1
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1.2 更新Homebrew到最新版本
1
$ brew update
1.3 安裝Carthage
1
$ brew install carthage
1.4 查看Carthage版本號(hào)
查看版本的同時(shí)妓局,也可以驗(yàn)證是否安裝成功
1
$ carthage version
2. 使用carthage
2.1 終端cd到項(xiàng)目所在文件夾
2.2 創(chuàng)建Carthage文件Cartfile
1
$ touch cartfile
創(chuàng)建Cartfile
2.3 編輯Cartfile并保存(可以使用Sublime進(jìn)行編輯)
例如導(dǎo)入Alamofire总放,就在文件中寫(xiě)入github "Alamofire/Alamofire" ~> 4.7,如下圖所示好爬。
編輯Cartfile
2.4 開(kāi)始導(dǎo)入
1
$ carthage update --platform iOS
成功之后文件夾的結(jié)構(gòu)會(huì)變?yōu)橄聢D這樣局雄。
注意:如果build文件夾中沒(méi)有.framework文件,可以到Xcode的Preferences的Locations中存炮,做下圖這樣的設(shè)置哎榴。
2.5 把.framework文件導(dǎo)入項(xiàng)目
下面三張圖展示了添加過(guò)程。
項(xiàng)目名稱 --> TARGETS --> General --> Linked Frameworks and Libraries -> Add Other... --> 選擇Carthage/Build/iOS/Alamofire.framework文件 --> 導(dǎo)入成功
2.5.1
2.5.2
2.5.3
2.6 添加Run Script
參考下面兩張圖進(jìn)行操作僵蛛。
項(xiàng)目名稱 --> TARGETS --> General --> Build Phases --> 點(diǎn)擊左上角加號(hào) --> New Run Script Phase --> 點(diǎn)開(kāi)Run Script --> 在Shell下面的黑色框中填入/usr/local/bin/carthage copy-frameworks --> 點(diǎn)擊Input Files下面的加號(hào) --> 為framework添加訪問(wèn)路徑$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework --> 完成
2.6.1
2.6.2
2.7 編譯項(xiàng)目,完成迎变!
Command + B編譯項(xiàng)目充尉,然后在需要的地方導(dǎo)入頭文件,開(kāi)始使用衣形!
二驼侠、CocoaPods
1. 安裝
1.1 更新gem到最新版本,終端中輸入:
1
$ sudo gem update —system
1.2 刪除自帶的ruby鏡像谆吴,終端輸入:
1
$ gem sources --remove https://rubygems.org/
1.3 添加鏡像倒源,終端輸入:
1
$ gem sources -a https://gems.ruby-china.org/
1.4 安裝CocoaPods,終端輸入:
1
$ sudo gem install cocoapods
1.5 配置CocoaPods句狼,這一步等待時(shí)間可能會(huì)有點(diǎn)長(zhǎng)笋熬。終端輸入:
1
$ pod setup
2. 使用
2.1 打開(kāi)終端,cd到項(xiàng)目路徑下腻菇。
2.2 生成Podfile文件胳螟,終端輸入:
1
$ pod init
2.3 編輯Podfile文件
在終端輸入
1
$ vim Podfile
然后點(diǎn)擊鍵盤(pán)上的 i 進(jìn)入編輯模式昔馋,在空白處寫(xiě)上你要用的第三方,例如pod ‘WHKit’糖耸,然后依次點(diǎn)擊鍵盤(pán)上的esc和冒號(hào)秘遏,輸入wq兩個(gè)字母,代表保存并退出嘉竟。
你也可以直接用外部編輯文字的軟件來(lái)寫(xiě)Podfile文件(推薦Sublime)
2.4 安裝邦危,終端輸入:
1
$ pod install
完成!
注意: 打開(kāi)項(xiàng)目的方式發(fā)生了改變舍扰,以后需要雙擊.xcworkspace來(lái)打開(kāi)項(xiàng)目倦蚪。
3. 補(bǔ)充
3.1 如何用雙引號(hào)的方式導(dǎo)入第三方
打開(kāi)項(xiàng)目之后就可以直接使用WHKit了,現(xiàn)在可以#import 或#import 妥粟,但是卻不能#import “WHKit.h”审丘。
解決這個(gè)問(wèn)題的辦法是在工程的Build Settings搜索User header search paths,然后在User header search paths中添加$(SRCROOT)并選擇recursive勾给。
3.2 如果還想添加其他的第三方滩报,只要在Podfile里面接著添加,終端再執(zhí)行pod install播急。
3.3 第三方庫(kù)一般都有人在維護(hù)升級(jí)脓钾,我們需要隔斷時(shí)間就更新一下工程中第三方庫(kù)的版本。只需要終端輸入命令pod update桩警。
3.4 如果遇到pod install或者pod update慢的問(wèn)題
原因在于當(dāng)執(zhí)行以上兩個(gè)命令的時(shí)候會(huì)升級(jí)CocoaPods的spec倉(cāng)庫(kù)可训,加一個(gè)參數(shù)可以省略這一步,速度就會(huì)提升不少捶枢。命令如下:
1
2
$ pod install --verbose --no-repo-update
$ pod update --verbose --no-repo-update
3.5 當(dāng)我們需要去掉某個(gè)第三方庫(kù)時(shí)
只需要在Podfile刪除該引入該庫(kù)的語(yǔ)句握截,然后執(zhí)行pod update或者pod install。
3.6 刪除項(xiàng)目中的cocoapods
把項(xiàng)目文件中多出來(lái)的文件都刪掉就可以了烂叔,恢復(fù)點(diǎn)擊Test.xcodeproj的方式來(lái)啟動(dòng)程序谨胞。
不過(guò)為了項(xiàng)目正常運(yùn)行,你需要手動(dòng)導(dǎo)入已經(jīng)使用的第三方蒜鸡。
3.7 升級(jí)CocoaPods版本
命令和安裝CocoaPods的命令一樣:
1
$ sudo gem install cocoapods
如果老版本升級(jí)cocoapods的時(shí)候提示Operation not permitted - /usr/bin/xcodeproj胯努,改用命令:
1
$ sudo gem install -n /usr/local/bin cocoapods --pre
3.8 卸載CocoaPods
1
$ sudo gem uninstall cocoapods
當(dāng)出現(xiàn)Successfully uninstalled cocoapods字樣就代表已經(jīng)成功卸載。
3.9 升級(jí)MacOS導(dǎo)致cocoapods不能正常使用
如果出現(xiàn)這種情況逢防,首先升級(jí)ruby:
1
$ sudo gem update --system
然后重新安裝:
1
$ sudo gem install -n /usr/local/bin cocoapods
后記
以上就是Carthage和CocoaPods的使用方法叶沛。
?