Cocoa的依賴管理器,我們已經有了CocoaPods,非常好用,那么為什么還要創建這樣一個項目呢?
CocoaPods的目標在于:為提高第三方開源庫的可見性和參與度,創建一個更中心化的生態系統;Carthage的目標是用最簡單的方式來管理Cocoa第三方框架。
1. CocoaPods是中心化的依賴管理器,Carthage創建的是去中心化的依賴管理器
CocoaPods默認會自動創建并更新你的應用程序和所有依賴的Xcode workspace;Carthage使用xcodebuild來編譯框架的二進制文件,但如何集成它們將交由用戶自己判斷,它沒有總項目的列表,這能夠減少維護工作并且避免任何中心化帶來的問題。
CocoaPods的方法更易于使用,但Carthage更靈活并且是非侵入性的。
2. CocoaPods發現資源很簡便,Carthage比較麻煩
CocoaPods可以直接通過"pod search"來搜索資源,而Carthage項目的發現將比較困難,用戶將依賴于Github的趨勢頁面或者類似的代碼庫來尋找項目。
3. Carthage可以與 CocoaPods 無縫集成!
總之,使用Carthage的目的就是為了簡單、可控性,開發者能牢牢把控自己的項目。
使用Carthage的基本的工作流如下:
創建一個Cartfile,包含你希望在項目中使用的框架的列表
運行Carthage,將會獲取列出的框架并編譯它們
將編譯完成的.framework二進制文件拖拽到你的Xcode項目當中
Carthage編譯你的依賴,并提供框架的二進制文件,但你仍然保留對項目的結構和設置的完整控制。Carthage不會自動的修改你的項目文件或編譯設置,下面詳細介紹步驟:
安裝Carthage只需要打開終端,輸入如下指令:
$ brew update$ brew install carthage如果你不喜歡使用終端,也可以從網站https://github.com/Carthage/Carthage/releases下載最新版的Carthage.pkg來更新。
當你安裝好Carthage后,在終端執行
$ carthage version即可看到當前的carthage版本, 當我寫這篇文章的時候,Carthage的版本為0.18.0 。
現在,你已經安裝好了Carthage,接下來就是在你的項目中使用carthage了:
1、通過終端進入到項目所在的文件夾:
$ cd ~/Path/PRoject后面的路徑替換成你的項目所在的路徑即可
2、創建一個空的carthage文件:
$ touch Cartfile此時你的項目文件夾里會創建一個名為Cartfile的文件。
3、使用xcode打開cartfile文件
$ open -a Xcode Cartfile并在打開的文件中加入以下內容github "Alamofire/Alamofire" ~> 3.0github "SwiftyJSON/SwiftyJSON"版本的含義~> 3.0 表示使用版本3.0以上但是低于4.0的最新版本,如3.5, 3.9 == 3.0 表示使用3.0版本 >= 3.0表示使用3.0或更高的版本 如果你沒有指明版本號,則會自動使用最新的版本4、保存并關閉cart file文件,在終端執行命令$ carthage update --platform iOScarthage會為你下載和編譯所需要的第三方庫,當命令執行完畢,在你的項目文件夾中會創建一個名為Carthage的文件夾
在 ~/Carthage/Build/iOS里會出現xxx.framework文件已經為你創建好了。
5、現在打開你的項目,點擊project,選擇target, 再選擇上方的General,將需要的framework文件拖到 Linked frameworks and Binaries內
6、點擊Build Phrase tab選項,添加相應的run script
Xcode的新版本需要使用下面的方式來配置即可:
如何讓你的項目支持Carthage?
參考: http://www.jianshu.com/p/bf263c596538
新聞熱點
疑難解答