西里小站

CocoaPods 安装过程碰到的坑和解决办法

CocoaPods 安装过程碰到的坑和解决办法
2020-02-24 · 5 min read
教程

关于 CocoaPods

CocoaPods 是一个使用 Ruby 编写的 Swift 和 Objective-C 的依赖管理工具,使用它可以很方便地下载库的源代码,更好地解决库与库之间的依赖关系,它通过创建一个 Xcode 的 workspace 来将第三方库和我们的工程连接起来,供我们开发使用。总之,CocoaPods 能够让你更优雅地管理你的项目。

CocoaPods 的安装

CocoaPods 主要有两种安装操作方式,第一种是使用官方的 CocoaPods app,这种方法的好处是有可视化的图形界面,操作清晰明了,但是在实际使用过发现此 app 会使 Mac 发烫耗电严重(截至这篇文章发布时仍存在此情况。系统版本 macOS Catalina 10.15.3,CocoaPods app 版本 1.5.2),因此更推荐大家使用第二种方式来安装,养成习惯后操作效率和使用 app 没有太大差别。

第二种方式的安装方法

  • 在 macOS 上打开终端 app

  • 更换 RubyGems 为国内镜像,修改后查看 RubyGems 源信息,确保输出结果只有 gems.ruby-china.com,否则接下来的操作可能会失败或速度极慢

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem sources -l
  • 升级 Ruby 的 Gem 包管理器,并确认 Gem 版本
gem update --system
gem -v
  • 安装 CocoaPods
 sudo gem install -n /usr/local/bin cocoapods
  • 设置 CocoaPods 运行环境并测试是否能正常搜索库
pod setup
pod search SVProgressHUD

如果输出类似以下信息,代表搜索功能正常,之后可以输入 q 以退出搜索,如果搜索报错,请接着往下看

-> SVProgressHUD (2.2.5)
   A clean and lightweight progress HUD for your iOS and tvOS app.
   pod 'SVProgressHUD', '~> 2.2.5'
   - Homepage: https://github.com/SVProgressHUD/SVProgressHUD
   - Source:   https://github.com/SVProgressHUD/SVProgressHUD.git
   - Versions: 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2, 2.1.2, 2.1.1, 2.1, 2.0.4, 2.0.3, 2.0.2,
   2.0.1, 2.0, 2.0-beta8, 2.0-beta6, 2.0-beta5, 2.0-beta4, 2.0-beta3, 2.0-beta2, 2.0-beta, 1.1.3,
   1.1.2, 1.1.1, 1.1, 1.0, 0.9, 0.8.1, 0.8, 0.7, 0.6, 0.5, 0.4, 0.2 [trunk repo]

-> SVProgressHUD-0.8.1 (0.8)
   A clean and lightweight progress HUD for your iOS app.
   pod 'SVProgressHUD-0.8.1', '~> 0.8'
   - Homepage: http://samvermette.com/199
   - Source:   https://github.com/samvermette/SVProgressHUD.git
   - Versions: 0.8 [trunk repo]

-> SVProgressHUD-CJ (1.0.1)
   A fix SVProgressHUD for bjx ios  program platform
   pod 'SVProgressHUD-CJ', '~> 1.0.1'
   - Homepage: https://github.com/CJMaxWell2013/SVProgressHUD-CJ
   - Source:   https://github.com/CJMaxWell2013/SVProgressHUD-CJ.git
   - Versions: 1.0.1, 1.0.0 [trunk repo]
  • 如果搜索时报错,报错信息类似 Unable to find a pod with name, author, summary, or description matching ,请执行以下操作,并再次执行 pod search SVProgressHUD 测试是否正常
rm ~/Library/Caches/CocoaPods/search_index.json
mkdir -p ~/.cocoapods/repos
cd ~/.cocoapods/repos
git clone https://github.com/CocoaPods/Specs.git master
pod setup

注意:执行第 4 行命令时速度可能较慢,依然建议这里提前使用终端代理命令翻墙。如果实在无法下载,可以使用清华大学源镜像。将上面的命令替换如下,并在自己的工程文件里的 Podfile 文件第一行加上 source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'

rm ~/Library/Caches/CocoaPods/search_index.json
mkdir -p ~/.cocoapods/repos
cd ~/.cocoapods/repos
pod repo remove master
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
pod setup

如果想查看具体下载了多少内容,可以同时按下键盘上的 Command + N 键新建一个终端窗口,并执行以下命令。可以隔段时间执行一次 du -sh * 命令来查看下载的文件大小是否有变化

cd ~/.cocoapods
du -sh *
  • CocoaPods 命令行的详细使用方法在这里不再详述,网上已经有一堆教程。文章如有错误,欢迎在下方留言指出~
自豪地没有采用 WordPress