一、Carthage的安裝
先簡單介紹兩種安裝方法,都是官方給的,一個是下載 pkg 文件安裝,特簡單。另一個是使用 brew 安裝,需要使用命令行先安裝 brew。如果只是為了使用Carthage,那就使用第一種即可。
第一種:使用 pkg 文件安裝
1.1 下載地址:https://github.com/Carthage/Carthage/releases
下載完成后,雙擊安裝即可,簡單方便。
1.2 檢查版本,如果有版本號, 證明安裝成功
carthage version
我更新這篇文章時版本為0.31.2,如果你的版本大于等于此版本,那么,Carthage已經安裝完成,可以跳過第二種安裝,直接看下面的使用即可。
第二種 使用homebrew安裝
2.0 安裝Xcode Command Line Tools
xcode-select --install
如果已經安裝了,會報錯,顯示already installed。
2.1 先安裝homebrew,兩步
2.1.1 使用下面命令行安裝homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.1.2 更新brew,保證版本最新
brew update
顯示Already up-to-date.就是最新版的 brew 了。
2.2 再安裝Carthage,兩步
2.2.1 使用homebrew安裝Carthage
brew install carthage
2.2.2 檢查版本,如果有版本號, 證明安裝成功
carthage version
我更新這篇文章時版本為0.31.2,如果你的版本大于等于此版本,那么,Carthage已經安裝完成,直接看下面的使用即可。
二、Carthage的使用
3.配置Carthage在項目中使用
3.1創建Carthage文件
3.1.1 方法一:命令行創建
- 在命令行中使用cd命令到你的項目所在文件夾路徑
cd /Users/allen_qin/test/我的測試app
小技巧:打開teminal終端,敲入cd命令后,敲一下空格鍵,然后將項目文件所在的文件夾直接拽進終端,就顯示路徑了,此時回車即可。
- 用touch命令創建Cartfile文件,保證跟你的項目在統一文件夾下
touch Cartfile
- 因為這個文件需要提交git或者svn版本管理,而且為了便于編輯,可以拽進Xcode項目中,填寫需要的git庫,用版本管理工具管理
3.1.2 方法二:用Xcode創建Cartfile文件
- 直接用Xcode創建一個空白文件,起名為Cartfile,存儲位置為與項目.xcodeproj同一個文件夾
- 直接在Xcode中編寫庫文件即可
簡單說明~>的意思:更詳細的可以參考這篇文章
- >= 1.0 代表 “最低 1.0版本”
- ~> 1.0 代表 “表示使用版本1.0以上但是低于2.0的最新版本,如1.5, 1.9”
- == 1.0 代表 “必須是 1.0 版本”
- 直接使用branch等分支名稱:例如
github "Alamofire/Alamofire" ~> 4.0
- 一般你去git上找到git庫的說明文檔時,都會給出建議版本,復制粘貼即可
3.2 在項目中使用Carthage
3.2.1 下載git庫并編譯成framework
-
在命令行中使用cd命令到你的項目所在文件夾:(我的測試app.xcodeproj文件所在的文件夾),同步驟3.1.1。確保你用ls命令可以看到Carthage文件,如圖:
image - 在終端內輸入更新命令下載git庫文件即可,可以加上平臺限制如--platform iOS
carthage update --platform iOS
-
等著Carthage下載并編譯你的git庫,根據你庫的多少和庫本身的體積大小,時間會不同,編譯完成后終端會提示,如圖:image
提示:
如果升級了Xcode版本,例如從Xcode8升級到Xcode9,或者從beta1升級到beta2,需要重新執行一次上面的更新命令,否則會報下面的錯誤,如圖:
image
-
編譯完成后會在項目文件夾下自動生成Carthage文件夾和一個Cartfile.resolved文件,第三方庫的源碼文件和framework文件就在Carthage的Checkout文件夾下,如圖:
image -
注意:Cartfile和Cartfile.resolved兩個文件需要提交到git或svn,如圖
image
3.2.2 配置Xcode
最后一步了,這一步是配置一下Xcode項目文件,因為Carthage是號稱無侵入性的管理框架,所以不會修改你到Xcode項目的任何內容,所以這里需要自己手動設置一下Xcode項目,以便于使用Carthage
-
添加framework,很簡單,如圖點+號按鈕
image
選擇Add Other
image
找到編譯好的framework文件,點擊Open
image
項目中就添加好了
image - 配置腳本,很簡單,復制好下面的命令,看圖一步步來就行:
/usr/local/bin/carthage copy-frameworks
-
添加運行腳本,點擊+號后選擇New Run Script Phase
image - 將剛才復制的命令粘貼到黑框中,覆蓋掉原來的內容,并且在Input Files和Output Files中按照格式填寫\
inputfiles
$(SRCROOT)/Carthage/Build/iOS/Result.framework
outputfiles
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Result.framework
簡單解釋填寫的內容:
(BUILT_PRODUCTS_DIR):built后的輸出路徑
$(FRAMEWORKS_FOLDER_PATH):framework所在的路徑
- 到此為止,已經完成了,在項目中使用到第三方的地方直接“import Alamofire”就行,跟引入系統框架一樣。
- 以后再添加第三方庫,只需重復3.2步驟即可。
其他提示(可能遇到的坑)
- 等待時間很長,如果你一次行添加了好多第三方框架,那就等吧,你的網速好海行,網速差就等好幾個小時
- 路徑錯誤,你很有可能路徑設置有問題,我已經盡可能的用截圖的方式給你展示了合適的路徑,如果沒有嚴格按照我的截圖路徑來,那么你最后填寫的inputfile和output路徑就需要按照你自己的來