Cocoapods安装使用和Bundler管理Cocoapods版本

1.Cocoapods安装和使用

ruby

安装 Cocoapods 需要 ruby 如果要升级 ruby 或者 安装 ruby 需要先安装 rvm

rvm 安装

curl -L get.rvm.io | bash -s stable 

source ~/.bashrc

source ~/.bash_profile

ruby 安装

rvm list known

[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.6]
[ruby-]2.5[.5]
[ruby-]2.6[.3]
[ruby-]2.7[.0-preview1]

选择一个版本安装

rvm install 2.6.3

CocoaPods 安装

切换源

sudo gem update --system

gem sources --remove https://rubygems.org/

gem sources --add https://gems.ruby-china.com/

安装

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

Xcode 选择

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

安装本地库

pod setup

Cocoapods版本

pod --version

进入项目初始化

cd 项目
pod init

设置 Pofile 文件

pod 'AFNetworking'

下载

pod install

查看安装 Cocoapods

gem list --local | grep cocoapods

卸载 Cocoapods

sudo gem uninstall cocoapods

2.Bundler 管理

在多人开放中使用的 pod 版本不一致,pod install 或 pod update 时 Cocoapods 的相关文件会被修改,导致冲突。

Bundler 安装

gem install bundler

进入项目初始化

cd 项目
bundle init

设置 Gemfile 文件

# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

# gem "rails"
gem 'cocoapods', '1.7.5'

下载

bundle exec pod install
bundle exec pod update

当你和 Gemfile 中指定的 Cocoapods 版本不同时 可以执行

bundle install 

来下载指定版本 Cocoapods 然后在执行下载命令

当然如果觉得总是 bundle install 很慢,你也可以使用缓存

bunlde package

这样就把缓存打包到 vendor/cache 文件夹下面

bundle install --local

这样不会去 rubygems.org 上面去下载资源,而是获取 vendor/cache 目录下面的资源。

3.Cocoapods 引入第三方库 Swift 不同版本混编

你使用的有些三方库有些支持了Swift5,有些还只能使用Swift4.2。这时候就需要混编一下

swift_42_pod_targets = ['your_target_name']
post_install do |installer|
  installer.pods_project.targets.each do |target|
    if swift_42_pod_targets.include?(target.name)
      target.build_configurations.each do |config|
        config.build_settings['SWIFT_VERSION'] = '4.2'
      end
    end
  end
end

你可能感兴趣的:(Cocoapods安装使用和Bundler管理Cocoapods版本)