gpt4 book ai didi

ios - :submodules => true mean in a CocoaPod Podspec? 是什么

转载 作者:可可西里 更新时间:2023-11-01 04:52:02 27 4
gpt4 key购买 nike

TL ;博士:

如果将 :submodules(spec.source 的一部分)设置为 trueCocoaPods 会做什么?

完整版:

我之前的项目结构是这样的

Project
Linked To --> Core static library (submodule added as a subproject)
--> Linked To --> several dependent submodules (files added within subproject)

我现在正在过渡到 CocoaPods 进行依赖管理。

我的新(过渡)结构看起来像

Project
--> Depends on Core CocoaPod and few other CocoaPods
--> Core depends on several open-source libraries
--> Core also depends on a few submodules (in process of converting these)

我见过其他项目(例如 AFNetworking )像这样指定它们的 source:

s.source = { :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => "2.1.0", :submodules => true }

如果像本例中那样将 :submodules 作为 true 传递,CocoaPods 会做什么?对于这个用例,这是正确的设置吗?

我似乎无法在 CocoaPods.org 上的任何地方找到这个记录.

最佳答案

这与具有子模块 (See Git Submodules for more information on them) 的 git 存储库有关。通常,当您克隆一个 git 存储库时,您需要执行以下操作:

git submodule init 
git submodule update

下拉 git 存储库所依赖的子模块(例如,如果 git 库引用了另一个 git 库,它可以将其添加为子模块,而不是将文件添加到它自己的版本控制中——这意味着子模块可以更新和git 库将自动访问最新版本)

我不确切知道 cocoapods 在 git clone 过程中做了什么,但我想它会在克隆存储库后运行这 2 个命令以确保所有子模块依赖项都有效。

仅供引用,此命令会初始化并更新所有子模块以及它们所依赖的任何子模块 - 所以这可能是 cocoapods 使用的

git submodule update --init --recursive

此更改是在 0.12.0 中引入的:(请参阅 changelog)

希望对您有所帮助!

关于ios - :submodules => true mean in a CocoaPod Podspec? 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21789582/

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