gpt4 book ai didi

ios - 如何在一个 git repo 中拥有多个 pod

转载 作者:IT王子 更新时间:2023-10-29 00:52:35 24 4
gpt4 key购买 nike

上下文

我们正在开发一个大型软件平台,其中包括 Android、服务器、Web 和 iOS(以及其他平台)。为了让我们所有的代码彼此保持最新,我们将它们全部保存在一个主存储库中(这非常重要,因为我们在所有平台上共享一个模型,因此提交可能会影响许多不同的平台)。

为了处理 iOS 端,我们决定将项目分解为模块化 pod,以便我们可以轻松地在我们的其他库(也包括 pod)之间共享它们,这样当我们发布时,我们的客户可以轻松地包含它们我们在他们现有项目中的 api(即我们希望使用 cocoapods 结构来获得 cocoapods 提供的所有美妙好处)。

为实现这一目标,我着手为我们的每个项目设置一个私有(private)规范存储库和 pod 规范。

tl;dr:我们有一个主 git 存储库,其中包含我们所有的代码(多个平台,包括多个不同的 pod)。我们希望保留这种结构,但也能够从存储库中的代码创建 pod。

问题

我遇到的问题是我能找到的关于 pod 规范的所有文档都说你必须使用这种格式:

spec.source = { :git => 'https://github.com/AFNetworking/AFNetworking.git',
:tag => spec.version.to_s

唯一让我感到困惑的是我们的 repo 不仅包含一个 pod(更不用说 iOS 代码了)。

是否可以这样做:

spec.source = { :git => 'https://github.com/MyCompany/Master/MyCompanyCoreDir',
:tag => spec.version.to_s

我们非常感谢任何帮助

干杯

靛蓝

最佳答案

在单个 Git 存储库中可以有多个 cocoapods。

正如您所说,您可以为每个导致特定 pod 代码的来源指定不同的来源。

为了使其工作,您还必须在规范中设置正确的 source_files,例如:s.source_files = 'SomePodDirectory/*.swift'

你甚至可以通过对 source 使用这样的东西来管理每个 pod 的多个版本:s.source = { :git => 'https://github.com/MyCompany/Repository.git', :tag => 'SomePodName-v'+String(s.version) }.

在这种情况下,您应该在 Git 上创建适当的标签(例如 SomePodName-v1.0.0)。

关于ios - 如何在一个 git repo 中拥有多个 pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27560882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com