您拥有带有自己的 Git 存储库的主项目“App”;您再次使用自己的 Git 存储库将模型分离到一个单独的框架项目“AppKit”中。“AppKit”作为 Git 子模块导入到“App”中,一切都很愉快。
如果“AppKit”具有外部依赖项——假设由 CocoaPods 管理,那么典型的 import-as-submodule 将失败,因为“App” 不满足“AppKit”的依赖项。我想知道在将“AppKit”作为 Git 子模块导入时是否有任何方法可以实现这一点。可以做到吗?
我知道有几个简单的解决方案 -
我只是想要一个明确的答案(以防它不能作为 Git 子模块完成),所以我可以继续前进。
背景:追求管理多项目应用程序的理想解决方案(欢迎其他想法/意见)
让问题更清楚——
如果 iOS 框架项目有自己的依赖项,它可以作为 Git 子模块导入吗?如果子依赖项是——
git submodule
作为 Git 命令的一部分,它本身没有 CocoaPod 依赖项的概念。
Cocoa 依赖管理器本身确实有这种依赖的概念,声明为子模块,并从 CocoadPod 0.1.20 开始管理(如此处解释)。
这意味着:如果 AppKit 本身是一个 CocoaPod,它可以将自己的依赖项声明为 Git 子模块,并且 CocoaPod 将管理(加载)它们,前提是您自己的项目要求这些依赖项,使用 :submodules => true
s.source = { :git => 'https://github.com/<you>/AppKit.git', :tag => "2.1.0", :submodules => true }
所以:
如果 iOS 框架项目有自己的依赖项,它可以作为 Git 子模块导入吗?
如果该项目作为 CocoaPod 导入,则 Cocoa 依赖项管理器可以处理导入的项目依赖项(如果它们是 git 子模块)。
但是如果导入的项目只是一个 Git 子模块(没有被声明/导入为 CocoaPod),Git 本身不会将所述依赖项作为“CocoaPod”进行管理(因为它对 XCode 项目依赖项一无所知)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句