如何在 podfile 中指定 CocoaPods 仓库分支

How to specify the CocoaPods repository branch in podfile

我们可以通过在 podfile 中添加以下行来指定 CocoaPods 存储库

 source 'https://github.com/artsy/Specs.git'

这指向主分支。有什么方法可以指定我们想要从 Cocoapods 存储库中使用的分支?

我认为这会有所帮助。

pod 'Specs', :git => 'https://github.com/artsy/Specs.git', :branch => 'master'

此处提供更多详细信息

http://guides.cocoapods.org/using/the-podfile.html#from-a-podspec-in-the-root-of-a-library-repo

根据 http://guides.cocoapods.org/syntax/podfile.html#source 没有选择。

podfile 指南提到了以下语法:

To use a different branch of the repo:

pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'dev'
                                                                         ^^^
                                                               (the space is important)

虽然无法切换到您想要的分支,但有解决此问题的方法。

转到 Users/(your_user_name)/.cocoapods/repos/ 文件夹。您会在此处找到您的 cocoapods 源存储库。您可以修改存储库以合并您的更改。

Please note that you are modifying the master branch here.

在与这个问题争论了一段时间之后,我确实找到了一种方法来控制在使用 podfile 中的 source 'your-repo' 时引用的分支(而不是 podspec!!)。事实证明,podfile 实际上并没有指向 master,而是指向 repo 的 github 选项中设置的 "default branch"。所以如果你去:

GitHub Repo -> Settings Tab -> Branches -> branch you want -> Update

将更新存储库的默认分支。之后你需要擦除本地 cocoapods 仓库(否则它似乎缓存了以前的默认分支名称)

rm -rf ~/.cocoapods/repos/your-repo

擦除您的 pods 目录和缓存可能不会有什么坏处。无论如何,在那之后,您的下一个 pod 安装将从正确的分支中拉取。