问题起因:
公司配了新mac,因为迁移资料比较多,当时没及时安装ruby、Cocoapods,直接拷贝项目到新mac,项目都能正常使用,没有任何问题,当升级OS系统、升级XCode的时候问题就爆出来了,XCode一直一直一直一直闪退,闪退到崩溃,闪退还没有给出具体原因,网上查了很多资料,始终没解决,
排除法:
1、查看不同项目是否打开都闪退(答案是都闪退)
2、查看是不是因为引入了新的第三方SDK,打开没有引入新三方的项目(答案是闪退)
3、Xcode版本回退,回退了两个版本(下载地址:https://developer.apple.com/download/more/)(仍然闪退)
4、新建项目(不闪退),开始在想新建项目和旧项目的区别,这个时候才想起里,当时没配置cocoapod环境,哭~~~
正题,先熟悉几个概念
CocoaPods
CocoaPods是IOS项目上负责管理依赖的工具,即对第三方库的依赖。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。
CocoaPods 是通过 Ruby 语言实现的,本身就是一个 Gem 包
Ruby
Ruby是一种纯粹的面向对象编程语言
Gem
Gem 是RubyGems 的简称,是 Ruby 的一个包管理工具,里面管理着用 Ruby 编写的工具或依赖 ,是封装起来的Ruby应用程序或代码库,将一个Ruby应用程序打包到一个gem里,作为一个安装单元
RubyGems 提供了 Ruby 组件的托管服务,可以集中式的查找和安装 library 和 apps。当使用 gem install xxx 时,会通过 rubygems.org 来查询对应的 Gem Package
rvm
rvm提供了ruby的版本控制,以及对gem集合的管理方式。
因此安装Cocoapods需要先安装Ruby
安装Cocoapods
1、安装Ruby
brew install ruby(安装最新版的ruby)
ruby --version(ruby版本)
curl -sSL https://get.rvm.io | bash -s stable(RVM 是一个便捷的多版本 Ruby 环境的管理和切换工具.安装它,官网:https://rvm.io/)
rvm get stable(rvm更新)
这个时候可能会报找不到的信息,如果没有报,忽略1.1.1,1.1.2
zsh: command not found: rvm
1.1解决 command not found: rvm
1.1.1安装rvm
ruby -v
rvm -v
git clone https://github.com/rvm/rvm.git
pwd
找到路径
下载完之后、根据路径、到rvm文件夹下、 找到 /bin/rvm-installer中 rvm-installer双击
1.1.2需要配置环境变量
vi ~/.bash_profile
粘贴下面的这一行到文件最后一行
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
如下图
终端输入
source ~/.rvm/scripts/rvm
rvm -v
看到下面rvm版本说明安装成功
2、Gem更新及替换ruby源
sudo gem update --system(gem更新)
gem sources --remove https://rubygems.org/(移除之前的源)
gem sources --add https://gems.ruby-china.com/(设置新的源
gem sources -l(查看当前源)
gem --version(gem版本)
3、安装cocoapods
sudo gem install -n /usr/local/bin cocoapods(安装cocoapods)
pod setup(安装本地库)
pod repo update(更新本地库)
pod --version(pod版本)
最后注意,电脑重启重启!!再打开项目,xcode不闪退了,开心~~
扩充
升级ruby
rvm list known
rvm install 3.0.0(写要升级的版本号)
ruby -v (查看是否升级成功)