<使用未发布的功能
有时,您可能希望在 CocoaPods 中测试即将推出的功能。此时,此类功能的代码可能已在“功能分支”中提供。本文档基于现有的 Pull Request,它会随着时间的推移而改变/更新,因此它可能会略微过时。
<两个选项
使用 Gemfile
本指南中未介绍此内容,但在 使用 Gemfile 中介绍了此内容。这是一种更简单的技术,但要求您在运行任何 pod
命令之前记住使用 bundle exec
。
设置 CocoaPods 的本地开发副本
运行 CocoaPods 分支版本的技术是
- 如果尚未安装,请安装
Bundler
(可在 bundler.io 中找到安装说明) - 在本地克隆 CocoaPods 的副本。
- 检出您想要的分支的版本。
- 运行
bundle install
以设置 CocoaPods。 - 使用新
pod
二进制文件的完整路径,而不是通过 rubygems 安装的路径。
然后,当您想要更新时,返回到该本地安装并运行 git pull
,然后再次运行 bundle install
。
<现实世界演练
我们使用 @mrackwitz's Swift Pull Request CocoaPods#2835 作为示例。请注意,swift
分支不再存在。您可以在 此处 查看所有当前分支。
克隆本地副本
通过查看子标题 mrackwitz wants to merge 85 commits into master from swift
,您可以推断出此 pull request 来自 CocoaPods 仓库中的一个分支。如果它看起来像 Pull Request CocoaPods#2880([...] CocoaPods:master from samdmarshall:xclegacy-build-setting-build-dir-fix
),那么您可以看到它来自 samdmarshall 分支,您需要从该仓库中克隆。
克隆本地副本
cd projects/cocoapods/
git clone https://github.com/CocoaPods/CocoaPods.git
检出该分支,并运行 bundle install
对于我们的 pull request 来说,这很容易,我们首先需要在新的文件夹中
cd
cd CocoaPods
git checkout swift
bundle install
使用新版本作为您的pod
命令
新的pod
命令位于您刚刚克隆的 git 存储库中。它可以在bin
文件夹中找到。
要获取 CocoaPods 命令的完整路径,请运行
echo $(pwd)"/bin/pod"
# e.g. /Users/orta/spiel/ruby/CocoaPods/bin/pod
这是您可以用来运行 CocoaPods 分支版本的命令
cd ~/projects/dev/eidolon
/Users/orta/spiel/ruby/CocoaPods/bin/pod install
命令别名
终端支持使用别名来减少命令的长度。默认终端 shell 称为 bash,如果您想了解如何设置 bash 别名,我建议阅读此 StackOverflow。您可以创建一个使用此文件夹的别名,如spod
alias spod='/Users/orta/spiel/ruby/CocoaPods/bin/pod'
这意味着您可以运行 spod install
来使用您自定义的 CocoaPods 版本。
其他选项
另一个选项是使用Bundler(用于 ruby 项目的 CocoaPods)来维护您自己的 fork/分支,如果您在一个团队中并且希望确保开发人员之间的一致性,这是一个更好的选择。请参阅CocoaPods 已准备好用于 Swift,了解如何执行此操作的示例。