? ? ? ? ?作為iOS開發(fā)齿税,這幾天看了下carthage這個第三方工具管理庫帝火,一個類似于cocoaPods俗或,使用方式上有點不大一樣,而且將生成的第三方庫導入project工程的過程交給了開發(fā)者.
cocoaPods是中心化的管理cocoaPods大致:thouch Podfile 在文件中加入你需要的第三方庫的版本信息雄可, 在終端pod install凿傅,cocoaPods會生成workspace把所有的第三方庫放在一個project, 和開發(fā)者的工程都放到workspace里面,把所有的依賴都一步到位数苫,這樣的操作對開發(fā)者來說比較方便聪舒。但是在你的工程每次編譯的時候pod project 也需要一起編譯一遍,隨著開發(fā)深入虐急,編譯時間會變長箱残,這個比較麻煩, 特別是xcode8以后的swift開發(fā)編譯一遍很費時.
carthage是去中心化的管理止吁,和cocoaPods理念不一樣被辑, 只給用戶做第三方庫下載到carthone文件夾,做好了相關依賴工作敬惦,并不幫用戶集成第三方庫盼理,集成的權利交給用戶自己去做,大概的繼承步驟:1俄删,終端cd到你工程目錄, thouch cartfile文件 宏怔。2想文件寫入第三方庫名稱(carthage和cocoaPods相比的缺點,無法用pod search 第三方庫畴椰,你需要自己去github上面查找第三方庫文件一格式如github "AFNetworking/AFNetworking"臊诊,不知道除了github還能用其他網(wǎng)站的行不行,沒試過)斜脂。 3.庫寫入了就開始更新了終端輸入 carthage update --platform iOS(如果是更新單個的庫抓艳, 在update后面再庫的名字即可, 刪除的話可以自己進文件夾刪除, 刪除cartfile信息), 終端回去下載第三方庫帚戳,然后編譯成二進制的 .dsym ?加頭文件的 Framework玷或,并添加相關依賴,并且check out 出第三庫的workspace相關文件片任,可以進carthage文件夾查看framework 放在iOS文件夾下, 相關的workspace會放在checkouts文件夾下庐椒,為什么有workspace, 因為carthage把你想要用的第三方庫打包成了二進制的framework,在工程中使用的時候,你是不能看到具體的代碼蚂踊,可以打開workspace看T继浮)
到這一步已經(jīng)完成了carthage的第三方庫的集成,剩下的就是開發(fā)者自己將需要的庫導入到文件當中犁钟,步驟 點擊projectd進入Gengral ? -> Embedded Binaries -> 點+ ->add other...把carthage文件夾下的iOS文件夾導入棱诱, 然后點+, 加入自己需要的第三方庫即可
carthage 優(yōu)點 ?不去改變project目錄, 可以和cocoaPods在同一個工程中共存涝动, 相比cocoaPods不需要每次都去編譯迈勋,只有需要更新庫的時候幕庐,加快了編譯的速度悄晃,不去改變project的配置 尝偎, carthage環(huán)境搭建比cocoaPos簡單国夜,cocoaPods環(huán)境搭建較復雜。
carthage缺點? 有些第三方庫不支持(網(wǎng)上看的查看是否支持厦凤,進入github主頁 點擊Barnch master 看tags是否有版本支持鼻吮,沒有就不支持), carthage只支持iOS8動態(tài)庫较鼓,靜態(tài)庫是用不了的像百度搜索等庫無法導入椎木,所以可以結合cocoaPods使用,Carthage 的配置只能讓你看到一個庫的頭文件
相關鏈接