Cocoapods 安装及使用

2022-04-23  本文已影响0人  _涼城

什么是 CocoaPods

CocoaPods是一个用Ruby写的,用作 Swift 和 Objective-C 项目的依赖管理器。

CocoaPods 的安装

CocoaPods 是用 Ruby 构建的,它可以使用 macOS 上可用的默认 Ruby 进行安装。也可以使用 Ruby 版本管理器。

注意:CocoaPods 的版本安装会受到 Xcode 版本的影响

默认 Ruby 安装

使用默认的 Ruby 安装将要求 在安装 gems 时使用 sudo

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

无 Sudo 安装

Pod Setup

CocoaPods 的 specs repo 默认在 ~/.cocoapods/repos 路径,Cache 默认路径在 ~/Library/Cache/CocoaPods

使用 CococaPods

初始化 Pod

pod init

部分 Command Line API

Cocoapods Command-Line

#下载并安装所有依赖项
pod install
#更新依赖库
pod update
#查找可更新的库
pod outdated
#删除项目中的 CocoaPods
pod deintegrate
# 搜索
pod search

编辑 Podfile

# 指定的 workspace,可选
workspace 'MyWorkspace'
# 指定的 project,可选
project 'Myxcodeproj'
# 不指定会默认,可配置镜像源、私有源
source 'https://github.com/CocoaPods/Specs.git'
# 支持的平台和版本
platform :ios, '9.0'
# 可忽略引用库的所有警告
inhibit_all_warnings!
# 抽象的 Target 用于多个 Target
abstract_target 'Shows' do
  # 尽可能不使用 动态库
  #use_frameworks!
  # 添加需要的 Pod
  pod 'testPod'
  # 添加指定版本的 Pod
  #'> 0.1'任何高于 0.1 的版本
  #'>= 0.1'0.1 版及更高版本
  #'< 0.1'任何低于 0.1 的版本
  #'<= 0.1'版本 0.1 和任何更低版本
  pod 'testVersion','1.1.0'
  # 添加指定 configutartion 的 Pod 
  pod 'testConfigutartion',:configutartions =>['Debug']
  # 添加从指定Git仓库下载指定 Tag 的Pod
  pod 'testGitSource',:git=>'https://github.com/test/testGitSource.git',:tag=> '1.0.0'
  # 添加指定本地路径的 Pod
  pod 'testLocal', :path => '../code/Pods/'

  # Has its own copy of ShowsKit + ShowWebAuth
  target 'ShowsiOS' do
    pod 'ShowWebAuth'
  end

  # Has its own copy of ShowsKit + ShowTVAuth
  target 'ShowsTV' do
    pod 'ShowTVAuth'
  end
end

什么是 Podfile.lock?

Podfile.lock 文件是在第一次运行 pod install 后生成的,并跟踪已安装的每个 Pod 的版本。通过这种方式,CocoaPods 避免了因依赖项发生意外更改而引起的问题。

Pod install 做了什么?

  1. 创建或更新 workspace
  2. project 添加到 workspace
  3. 将 CocoaPods 静态库添加到 workspace
  4. libPods.a 添加到:targets => build phases => link with libraries
  5. 将 CocoaPods 的 xcconfig 文件添加到应用程序的项目中。
  6. 将应用的 target xcconfig 更改为基于 CocoaPods 的配置。
  7. 添加构建阶段以将资源从安装的任何 pod 复制到应用程序包。即在所有其他构建阶段之后的“脚本构建阶段”,具有以下内容:
    • Shell:/bin/sh
    • Script::${SRCROOT}/Pods/PodsResources.sh

什么时候使用 pod install

将在第一次要检索项目的 pod 时使用,也可以在每次编辑 Podfile 以添加、更新或删除 pod 时使用。

pod update 做了什么?

运行时pod update,CocoaPods 会尝试查找每个 pod 的更新版,而不考虑 Podfile.lock 文件. 它会将 pod 更新到可能的最新版本(只要它符合Podfile 中的版本限制),更新之后会修改 Podfile.lock 中 Pod 的版本。

正确地使用 pod update

建议使用pod update [podname] ,将只能更新特定的 pod(检查是否存在新版本并相应地更新 pod)。与之相反,pod install 它不会尝试更新已安装的 pod 版本。

是否将 Pods 目录加入源代码管理中

加入 Pods 目录的好处
忽略 Pods 目录的好处

注:无论 Pods 是否加入源代码管理,PodfilePodfile.lock 都应始终处于版本控制之下。

CocoaPods 插件

如何安装插件

  1. 安装 gem 包

    • 使用 gem 命令安装

      gem install [插件名称]
      
    • 编辑 Gemfile,使用 bundler 安装,可用于团队协作

      source 'https://rubygems.org'
      
      gem 'cocoapods'
      gem 'cocoapods-binary'
      
  2. Podfile 中添加

     platform :ios, '9.0'
    + plugin 'cocoapods-repo-update'
      use_frameworks!
    
上一篇下一篇

猜你喜欢

热点阅读