如何使用 CocoaPods 插件

CocoaPods + 插件

CocoaPods 是一个社区项目,由极少数维护人员负责维护,维护范围非常广泛。可以肯定地说,CocoaPods 永远无法支持 Xcode 支持的所有功能,即使这样,团队也不得不拒绝许多潜在的有用功能。

为了不让讨论就此结束,早在 2013 年,CocoaPods 就增加了对 CocoaPods 插件的支持。插件架构允许其他人扩展 CocoaPods 以支持不符合依赖管理和生态系统增长的主要目标的功能。

CocoaPods 插件可以做什么?

CocoaPods 插件可以

  • 在安装过程中进行挂接,安装前和安装后都可以
  • pod 添加新命令
  • 做任何他们想做的事,因为 Ruby 是一种非常动态的语言

这意味着插件的范围通常与向构建过程中添加功能有关,但实际上可以做任何你想做的事情。例如,cocoapods-roulette 使用三个随机 Pod 生成一个新的 iOS 应用程序。我们保留了一个相对精选的插件列表,你可以在本文末尾看到它们。

如何安装插件

你将需要使用一个 Gemfile,如果你以前从未使用过 Gemfile 或想要复习一下,请查看我们的指南 “使用 Gemfile”。所有 CocoaPods 插件都是 Gem,它们是通过首先将它们添加到 Gemfile 中来安装的,然后你需要在 Podfile 中提及它们的存在。

例如,要使用 cocoapods-repo-update,你需要修改你的 Gemfile

  source 'https://rubygems.org.cn'

  gem 'cocoapods'
+ gem 'cocoapods-repo-update'
  gem 'fastlane'

然后在你的 Podfile 中添加对它的引用

  platform :ios, '9.0'
+ plugin 'cocoapods-repo-update'

  use_frameworks!

  # OWS Pods
  pod 'SignalCoreKit', git: 'https://github.com/signalapp/SignalCoreKit.git', testspecs: ["Tests"]

运行 bundle exec pod install 也将执行 cocoapods-repo-update 插件。

有哪些插件?

有很多!如果你还有更多要添加的内容,请向我们发送一个 PR 到 此 JSON 文件

AppleDoc

为 Pod 生成文档集和文档。

Azure 通用包

使 CocoaPods 能够从 Azure Artifacts 源下载通用包。

检查最新版本

检查 Pod 的最新版本是否是最新的。

CocoaPods 致谢

CocoaPods 插件,生成致谢 plist,以便轻松创建可在应用中使用的工具。

CocoaPods 存档

CocoaPods 插件,使你能够以静态库的形式存档 Pod

CocoaPods Artifactory 插件

支持将 Artifactory 用作 CocoaPods 存储库的索引和 Pod 的存储库。

CocoaPods 黑名单

检查项目是否使用 Pod 的禁止版本。对于安全审计非常方便。

CocoaPods 检查

显示已锁定 Pod 和已安装 Pod 之间的差异

CocoaPods 调试

一个用于简化 CocoaPods 调试的简单插件。

CocoaPods 嵌入 Flutter

直接声明 Flutter 模块作为目标的依赖项,就像 cocoapods 对 Pod 所做的那样。

CocoaPods Foundation 头文件

CocoaPods 插件,在生成的标头中使用 Foundation 而不是 UIKit/Cocoa

CocoaPods 生成器

从 *.podspec 向空目标添加文件,例如源文件、库、框架、资源等。

CocoaPods Githooks

CocoaPods 插件,在团队成员之间同步 git hook

CocoaPods 集成 Flutter

用于将 Flutter 与现有 iOS 应用程序集成的插件。

CocoaPods 密钥

将敏感数据存储在 Mac 的钥匙串中,该数据将通过 Pods 库安装到你的应用源代码中。

CocoaPods 链接

CocoaPods 插件,用于管理本地开发 Pod

CocoaPods Mangle

混淆你的依赖项符号允许多个依赖项副本在没有错误的情况下存在。此插件混淆你的依赖项以实现此目的。

CocoaPods 混合框架

通过代理框架目标将 use_framework! 目标与静态目标混合使用。

CocoaPods 打包器

从 podspec 生成框架或静态库。

CocoaPods 修剪本地化

在运行 pod install 时,此插件将删除项目中未使用的本地化

CocoaPods 查询

显示项目中按搜索词(作者姓名、源文件、依赖项等)过滤的所有 CocoaPods

CocoaPods 存储库更新

cocoapods-repo-update 是一个 CocoaPods 插件,在你运行 `pod install` 时检查你的依赖项,并在需要时更新本地规范存储库。

CocoaPods 模板

CocoaPods 插件,用于从远程源安装 Xcode 模板

CocoaPods 点赞

使用 cocoapods-thumbs 根据以往经验检查同行对 Podspecs 的点赞或点踩。

CocoaPods 更新,如果您敢

更新...如果您敢(在一次性更新所有 pod 之前警告用户)

CocoaPods 上传器

将文件/目录上传到远程存储。

CocoaPods 用户定义的构建类型

一个 CocoaPods 插件,它可以按 pod 选择性地设置构建类型(静态库、动态框架等)

CocoaPods 为什么

显示一个 CocoaPod 为什么依赖于另一个 CocoaPod

来自 AWS S3 的 CocoaPods 源

一个 CocoaPods 插件,用于使用预先签名的 URL 从 AWS S3 下载源

Cocoapods Pod 合并

合并您的 iOS 项目使用的 pod,减少您的应用程序在启动时必须加载的动态框架的数量

部署

为 CocoaPods 项目部署依赖项,而无需克隆仓库(类似于 Bundler 的 `--deployment`)。

Pod 依赖项

显示项目的 CocoaPod 依赖关系图。

Pod 链接

一个用于配置特定 pod 的链接类型的 CocoaPods 插件。

Pod 浏览器

在浏览器中打开 pod 的主页。

Pod 文档

通过 cocoadocs.org 方便地访问 Pod 的文档。

Pod 信息

显示已安装 Pod 的信息。

Pod 监视

监视 Podfile 更改并运行 pod install。

Pod 轮盘

使用三个随机 pod 构建一个空项目。

发布

为您标记和发布 pod。

Rome

Rome 使得可以轻松地构建一个供 Xcode 外部使用的框架列表,例如,用于 Swift 脚本。

排序搜索

为 pod search 添加一个 sort 子命令,以按星数、分支或 github 活动对搜索结果进行排序。

docstats

显示 Pod 的文档指标。

git tarball

如果可能,通过使用 tarball 加快从公共 git 仓库下载 pod 的速度。

open

打开 pod 的工作区。

repo-hg

添加 mercurial 支持来管理 spec 仓库。

repo-svn

添加 subversion 支持来管理 spec 仓库。