CocoaPods使用總結(jié)

更新:

Mac M1版本安裝:

1.Finder應(yīng)用程序中選中終端框咙,command+i顯示簡介
2.勾選使用Rosetta打開
3.執(zhí)行(安裝過就下一步)

 sudo gem install cocoapods 

4.執(zhí)行:

sudo arch -x86_64 gem install ffi
arch -x86_64 pod install

Intel版

安裝準備:

在終端中操作,首先通過3和4檢查ruby源和版本

  1. 移除現(xiàn)有Ruby默認源
gem sources --remove https://rubygems.org/
  1. 使用新的源
gem sources -a  https://gems.ruby-china.com/

"https://ruby.taobao.org/" 不能用了

  1. 驗證新源是否替換成功
gem sources -l
  1. 檢查 gem 版本號
sudo gem -v

升級gem

sudo gem update —system

如果報錯:

ERROR: While executing gem ... (OptionParser::AmbiguousOption)
ambiguous option: -system

安裝RVM:

 \curl -sSL https://get.rvm.io | bash -s stable --ruby

查看Ruby版本:

ruby -v

Ruby已知版本:

 rvm list known

安裝Ruby:

rvm install 2.4.1

安裝CocoaPods

(1)

sudo gem install -n /usr/local/bin cocoapods

輸入電腦密碼, 回車等待.

ERROR: Error installing cocoapods:
ERROR: Failed to build gem native extension.

current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.12.2/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20200317-4203-18pus5p.rb extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/include/ruby.h

You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.

因為ruby版本低,執(zhí)行:

brew upgrade ruby

(2)

pod setup

需要一段時間.

如果安裝失敗 ~/.cocoapods 里面是空的,就需要重新setup.
命令如下:
pod repo remove master
pod setup
如果安裝成功,~/.cocoapods下文件夾會有幾百M.

(3)創(chuàng)建Podfile文件李剖,在終端cd到工程文件夾內(nèi),下邊(1)和(2)任選其一:
1).新建文件 “Podfile”囤耳,終端執(zhí)行

vim Podfile

寫入2)的內(nèi)容并保存.

提示: 終端vim文件按 i 可編輯 , esc 退出編輯, : wq 可保存退出

2).終端執(zhí)行:

pod init

然后在Xcode中打開podfile文件篙顺,如果用TextEdit打開修改Podfile偶芍, pod install后會報警告:

[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

里面的樣式如下:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'  // 最低支持的系統(tǒng)版本

target 'targetName' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!

# Pods for sync
// pod 'AFNetworking'  
end

(4)搜索三方庫:
pod search 庫名

(5)導(dǎo)入第三方庫
pod update(比較慢)
或者pod install
或者pod update --no-repo-update

如果不想在pod update的時候升級repo庫 ,可以忽略掉慰安,使用pod update --no-repo-update,比較快聪铺, 但是如果github上pods的三方庫有新版本了化焕,你本地搜索到的還是舊版本,新版本是無法裝配的铃剔,所以每隔一段時間最好執(zhí)行一下pod repo update撒桨,
--verbose是打印詳細信息.

出現(xiàn)Setting up CocoaPods master repo,cd 到~/.cocoapods键兜,如果repos文件夾大小一直沒有變化凤类, 因為墻阻擋了cocoapods.org。

oschina是國內(nèi)的服務(wù)器, 可以用它們CocoaPods索引庫的鏡像:

  • pod repo remove master
  • pod repo add master http://git.oschina.net/akuandev/Specs.git
  • pod repo update

第二條命令執(zhí)行的時候會比較耗時普气,要去把整個specs倉庫clone一下谜疤,下載到 ~/.cocoapods里, cd 到~/.cocoapods现诀,
du -sh *命令來查看文件大小夷磕,需要等待一段時間,這個目錄最終大小是幾百M,每個CocoaPods版本不同仔沿。

(6)刪除三方庫:
在Podfile文件坐桩, 刪除想要刪除的三方庫(或者前面加#注釋掉),然后終端執(zhí)行pod installpod update封锉。

刪除一些三方庫后編譯可能會報錯: library not found for -l庫名绵跷,解決:
在Build Settings中搜索Other Linker Flags,去掉-l"庫名"成福。
(有時不管用碾局,應(yīng)該是cocoapods的版本問題)

更新CocoaPods版本:

sudo gem update cocoapods 

查看版本:

pod --version

導(dǎo)入三方庫報錯:

[!] CocoaPods was not able to update the master repo. If this is an unexpected issue and persists you can inspect it running pod repo update --verbose ```

嘗試解決:

嘗試1: 根據(jù)提示,跑一下

pod repo update --verbose

嘗試2:如果還是出現(xiàn)原來問題奴艾,升級CocoaPods版本

sudo gem update cocoa pods

嘗試3:如果升級還是出現(xiàn)原來的問題擦俐,那么重裝CocoaPods .

  • 首先查看本地裝了關(guān)于cocoapods的哪些東西,在終端輸入
gem list --local | grep cocoapods
  • 接著全部卸掉
sudo gem uninstall cocoapods
  • 再安裝
sudo gem install cocoapods

嘗試4:如果問題依舊握侧,那么清除緩存蚯瞧,清除命令:

sudo rm -fr ~/Library/Caches/CocoaPods/
sudo rm -fr ~/.cocoapods/repos/master
pod setup

還不行的話就把當前 Pods 目錄清空:

sudo rm -fr Pods/
sudo gem install -n /usr/local/bin cocoapods
pod setup 

看看還有沒有報錯.

CocoaPods的使用補充:

使用CocoaPods來添加第三方類庫, 無論是執(zhí)行pod install還是pod update, 如果都卡在了Analyzing dependencies不動, 原因在于當執(zhí)行以上兩個命令的時候會升級CocoaPods的spec倉庫, 加一個參數(shù)可以省略這一步, 命令如下:

  • pod install --verbose --no-repo-update
  • pod update --verbose --no-repo-update

pod install只會按照Podfile的要求來請求類庫,如果類庫版本號有變化品擎,那么將獲取失敗埋合。 但是 pod update會更新所有的類庫,獲取最新版本的類庫萄传。平時一般使用pod update --no-repo-update更新甚颂,定期使用pod update更新.

Cocoapods降低版本及卸載

一. 移除pod組件
1.這條指令會告訴你Cocoapods組件裝在哪里 :
which pod
2.你可以手動移除這個組件 :
sudo rm -rf 路徑
二. 移除 RubyGems 中的 Cocoapods程序包
Q: RubyGems是什么?
A: RubyGems(簡稱 gems)是一個用于對 Ruby組件進行打包的 Ruby 打包系統(tǒng)蜜猾。 它提供一個分發(fā) Ruby 程序和庫的標準格式,還提供一個管理程序包安裝的工具振诬。
1.查看gems中本地程序包
gem list
2.移除程序包
sudo gem uninstall cocoapods -v 要移除的版本號
3.安裝指定版本的Cocoapods
sudo gem install cocoapods -v 要安裝的版本號

終端走代理:

export http_proxy=http://proxyAddress:port
Example:export http_proxy=http://127.0.0.1:1087

Homebrew官網(wǎng)

https://brew.sh/index_zh-cn.html

RVM

https://rvm.io/rvm/install

唐巧博客
用CocoaPods做iOS程序的依賴管理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蹭睡,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子赶么,更是在濱河造成了極大的恐慌肩豁,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辫呻,死亡現(xiàn)場離奇詭異清钥,居然都是意外死亡,警方通過查閱死者的電腦和手機放闺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門祟昭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人怖侦,你說我怎么就攤上這事篡悟。” “怎么了匾寝?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵恰力,是天一觀的道長。 經(jīng)常有香客問我旗吁,道長踩萎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任很钓,我火速辦了婚禮香府,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘码倦。我一直安慰自己企孩,他們只是感情好,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布袁稽。 她就那樣靜靜地躺著勿璃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪推汽。 梳的紋絲不亂的頭發(fā)上补疑,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機與錄音歹撒,去河邊找鬼莲组。 笑死,一個胖子當著我的面吹牛暖夭,可吹牛的內(nèi)容都是我干的锹杈。 我是一名探鬼主播撵孤,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼竭望!你這毒婦竟也來了邪码?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤咬清,失蹤者是張志新(化名)和其女友劉穎闭专,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枫振,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡喻圃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年萤彩,在試婚紗的時候發(fā)現(xiàn)自己被綠了粪滤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡雀扶,死狀恐怖杖小,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情愚墓,我是刑警寧澤予权,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站浪册,受9級特大地震影響扫腺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜村象,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一笆环、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧厚者,春花似錦躁劣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至熙宇,卻和暖如春鳖擒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背烫止。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工败去, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烈拒。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓圆裕,卻偏偏與公主長得像广鳍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子吓妆,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 連續(xù)第四天寫晨思是什么樣的感受赊时? 這可能是去年11月份以來第一次連續(xù)四天寫晨思,當然以前也叫晨間日記等行拢。是...
    博子閱讀 142評論 0 0
  • 長相思 望京路上望故鄉(xiāng) 朝風涼 夜風涼 落葉知秋念故鄉(xiāng) 斜陽遍地黃 望京長 (望京路) 望街長 常夢家中米飯香 舉...
    can_54b4閱讀 239評論 0 0
  • 我的這一周生活可真多姿多彩祖秒!不過,想起下星期三要考試舟奠,又緊張起來竭缝。但這一周我依然快樂!因為星期二沼瘫,我們班本...
    星皓媽媽閱讀 468評論 0 1