Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
Swift 我如何管理.xpbproj冲突_Swift_Xcode_Git_Git Merge Conflict - Fatal编程技术网

Swift 我如何管理.xpbproj冲突

Swift 我如何管理.xpbproj冲突,swift,xcode,git,git-merge-conflict,Swift,Xcode,Git,Git Merge Conflict,我必须为iOS应用程序做一些UITests,事情是这样的: 我使用XCode ide和xctest库。我写我的测试,他们通过了,每个人都很高兴。 当新版本的应用程序发布时,我必须手动安装它并再次运行测试 所以,我想出了一个新主意。如果我创建一个新分支(发布分支的副本)并在那里添加测试,会怎么样。这样,每次有新的发布时,我都可以将发布分支与测试分支合并。就像这样,当我运行测试时,会安装新版本的应用程序 它起作用了。问题是新版本已经发布。和poof,合并.xpbproj文件上的冲突。问题是我添加了测

我必须为iOS应用程序做一些UITests,事情是这样的: 我使用XCode ide和xctest库。我写我的测试,他们通过了,每个人都很高兴。 当新版本的应用程序发布时,我必须手动安装它并再次运行测试

所以,我想出了一个新主意。如果我创建一个新分支(发布分支的副本)并在那里添加测试,会怎么样。这样,每次有新的发布时,我都可以将发布分支与测试分支合并。就像这样,当我运行测试时,会安装新版本的应用程序

它起作用了。问题是新版本已经发布。和poof,合并.xpbproj文件上的冲突。问题是我添加了测试类,因此.xpbproj文件发生了更改。开发人员也添加了新的文件,因此文件已经更改

手动解决冲突似乎是不对的。A.gittributes merge union无法为我解析它,无法打开该项目,因为它已“损坏”


我的问题是:您曾经遇到过这个问题吗?您是如何解决的?

为什么您不能将简单的测试用例与代码放在同一个分支中?没有好的方法来合并
xpbproj
,所以最好的方法是避免合并。您可以做各种事情,最简单的方法可能是将代码和测试放在不同的项目中,同时仍将它们放在同一个工作区中。另一种选择是让测试始终处于运行状态,但在不想运行测试时将其禁用(例如,有单独的目标)。