iOS開發(fā)中唱凯,大多數(shù)情況下羡忘,我們都須要集成一些第三方依賴庫。對于一個稍大的項目磕昼,用到的第三方依賴庫的數(shù)量也很可觀壳坪。CocoaPods是objective-c第三方庫管理工具,方便第三方庫的管理掰烟。另外還有Carthage也是可以用來管理iOS第三方庫的,這里就不多說了。
基本的步驟gem install cocoapods -> pod setup -> pod init -> edit Podfile -> pod install -> open xcworksapce
(期間出現(xiàn)對應的問題 就對應解決)
這里著重解析下pod常用的幾個文件夾:
/Users/{yourName}/Library/Caches/CocoaPods
這個位置放著系統(tǒng)的pod git clone成功后的三方庫的緩存
大概的邏輯: pod install -> 下載SDWebImage到Caches里面 -> 根據(jù)podSpec copy Caches內的庫到項目Pods里面進行使用/Users/{yourName}/.cocoapods/repos
這個位置存放著cocoapods的中心索引表纫骑,主要得repo 是 master, 也必須要有master才可以讓pod進行執(zhí)行
同時你新建的私有repo也會處于這個位置項目文件下的 Pods
根據(jù)Podfile生成的文件內容蝎亚,里面包含了源碼
所以在網(wǎng)絡極端情況(自己特別難更新的話),終極技能是先馆,直接去復制隊友的Pods文件到自己項目文件发框,然后pod install就行...,或者也可以將隊友的Caches文件復制過去煤墙,
安裝
為了防止gem安裝更新失敗梅惯,因此先替換為
https://gems.ruby-china.org/
而不再是國內的淘寶的鏡像源,否則在天朝的網(wǎng)絡限制中會很慢很慢請別弄混亂一個東西仿野,這里替換的ruby源的地址铣减,是為了安裝cocoapods這個庫管理軟件,安裝目錄默認在/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/脚作, 后面說替換的coding等spec.git葫哗,是指替換cocoapods的中心索引表的git地址
請盡可能用比較新的 RubyGems 版本,建議 2.6.x 以上球涛。
$ gem update --system # 這里請翻墻一下
$ gem -v
2.6.3
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.org
# 確保只有 gems.ruby-china.org
使用gem安裝cocoapods
sudo gem install cocoapods //1.0正式版本已經(jīng)發(fā)布劣针,規(guī)則有一點的變化
如果gem出現(xiàn)錯誤
Unable to resolve dependencies: cocoapods requires cocoapods-core (= 0.35.0), claide (~> 0.7.0), xcodeproj (~> 0.20.2), cocoapods-downloader (~> 0.8.0)
先更新gem然后重新開始
sudo gem update --system //沒什么問題就不要更新這個了,容易出現(xiàn)問題亿扁,更新后請重新設置下鏡像源
sudo gem install cocoapods 出現(xiàn) Operation not permitted - /usr/bin/xcodeproj
sudo gem install -n /usr/local/bin cocoapods
如果還有問題 請看鏈接
執(zhí)行$ pod search AFNetworking
時報錯
[!] Unable to find a pod with name, author, summary, or description matching AFNetworking
解決方式:
1· 先移除掉本地的master,在終端輸入pod repo remove master
然后轉到路徑下,在終端輸入
cd ~/.cocoapods/repos
再把github上的spec下載下來,替換路徑~/.cocoapods/repos目錄下的master捺典,在終端輸入命令:
git clone --depth 1 https://github.com/CocoaPods/Specs.git master
,等待下載完畢但是再次輸入
pod search AFNetworking
依然是提示找不到,是因為之前pod search的時候生成了search_index.json,把它刪除掉即可輸入命令:rm ~/Library/Caches/CocoaPods/search_index.json
回車从祝,再次輸入pod search AFNetworking
即可襟己。OK,現(xiàn)在再執(zhí)行
pod install --no-repo-update
就能夠正確更新這些第三方庫了