Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 管理多个与git共享代码的Xcode项目_Ios_Swift_Xcode_Git_Workspace - Fatal编程技术网

Ios 管理多个与git共享代码的Xcode项目

Ios 管理多个与git共享代码的Xcode项目,ios,swift,xcode,git,workspace,Ios,Swift,Xcode,Git,Workspace,已经有几个SO问题解决了这个问题,但我还没有找到一个完整的问题解决我的情况 我有项目X、Y和Z,它们都共享一个公共框架C。这些项目和框架都使用cocoapod。理想情况下,我会有三个单独的Xcode项目,都包括通用框架C。所以我会有,X+C,Y+C和Z+C。然后,当我推X+C时,我希望它将X的更改推到存储库X,将C的更改推到存储库C。我还希望能够将更改从C拉到X,Y,我希望在项目X、Y或Z中使用框架,并从每个项目X、Y或Z调试框架 目前是否可能?我知道有子模块的概念,但它听起来不是很健壮(分支很

已经有几个SO问题解决了这个问题,但我还没有找到一个完整的问题解决我的情况

我有项目X、Y和Z,它们都共享一个公共框架C。这些项目和框架都使用cocoapod。理想情况下,我会有三个单独的Xcode项目,都包括通用框架C。所以我会有,X+C,Y+C和Z+C。然后,当我推X+C时,我希望它将X的更改推到存储库X,将C的更改推到存储库C。我还希望能够将更改从C拉到X,Y,我希望在项目X、Y或Z中使用框架,并从每个项目X、Y或Z调试框架


目前是否可能?我知道有子模块的概念,但它听起来不是很健壮(分支很可能会失败)。

是的,POD也可以。您可以创建私有框架
C

如果您在项目的podfile中为
C
框架定义了路径,那么该框架将作为开发pod生成,您可以调试和编辑它

podfile的示例部分
您可以使用相对路径。您还可以在同一个git存储库中定义框架,或者为git存储库项目添加子模块

是的,pods也可以。你可以创建私有框架
C
,这样我的框架就会变成一个Pod?我尝试过这种方法,但它似乎不允许我实时处理框架。我每次都要更新框架。或者有其他方法吗?没有。如果您在podfile中为
C
框架定义路径,那么它将被生成为
developmentpods
,您可以调试和编辑它。(例如
pod'Alamofire',:path=>'~/Documents/Alamofire'
)然后我会将路径定义为我的任何项目路径之外。每个项目都有一个指向此路径的Podfile。我只需要确保在克隆存储库的每台机器上正确定义路径。我认为相对路径在这种情况下会有帮助?是的,相对路径是个好主意。您可以在同一个git存储库中定义框架,或者为git存储库项目添加子模块
'C', :path => './C/Source')