升级react native时,如何解决"project.pbxproj"文件中的冲突



我使用的是Xcode 9.4和当前react本机版本@0.54.4,我想将版本升级到0.55.4。

当我使用react-native-git-upgrade升级我的项目时,我在project.pbxproj中看到了一些未合并的冲突。有些设置是我自己的,与新版本中的更改相冲突。

我尝试了所有可能的方法来解决冲突。但是X代码仍然显示错误could not load the project,并且它不允许我构建我的项目。

我如何理解这些冲突指的是什么?我如何安全地解决这些冲突?

不幸的是,没有解决冲突的神奇方法。我希望有。该文件由Xcode管理,根据我的个人经验,我发现在执行合并时可以很容易地将其弄乱。

Git绝对是你最好的朋友。在开始任何合并之前,请确保你在一个新的分支上并完全提交,这样,如果你搞砸了,你就可以很容易地回到原来的版本。

我通常所做的是保留project.pbxproj的原始版本,然后在Xcode中手动进行更改。我知道这听起来并不理想,但这确实意味着你应该能够在Xcode中打开项目,尽管你的项目可能还没有运行。

如果您不清楚要保留哪个版本,我会保留我们的,因为这是您的project.pbxproj原始版本。来自文件:

你可以想到"我们的";作为";你的团队;以及";他们的";作为";React Native开发团队";。

然后我将手动进行更改,如下所述。因为这将显示他们的变化,希望不会那么多。

为了帮助我找到我必须做的更改,我发现React Native Upgrade Helper是一个宝贵的资源。在那里,您可以找到您选择的任何两个版本的react-native中的一个git diff。(这节省了您创建两个项目,然后自己进行比较的时间,大大节省了时间。)

目前您正在从0.54.4升级到0.55.4,此链接显示了这些版本之间的差异

https://react-native-community.github.io/upgrade-helper/?from=0.54.4&至=0.55.4

为了获得更多帮助,您可以在特定的react-native版本中创建一个项目,使用以下方法将创建0.55.4版本的项目。

react-native init newproject --version react-native@0.55.4

这样,您就可以查看Xcode项目内部,查看添加了什么,以及从哪里添加的,因为git diff并不总是告诉它从哪里添加。

我在使用react-native-git-upgrade时从来没有遇到过太多的运气,我更喜欢手动操作,因为我用这种方式做得更成功了。

将react native从0.51更新到0.55版本后,一切似乎都在本地模式下正常工作。但是生产构建失败了。

我通过从0.51再次升级react native来解决这个问题,并几乎一直保留我的更改而不是他们的更改。

也许在文档中应该有更详细的解释,说明通过选择错误的更改而遇到的问题。

最新更新