【问题标题】:Xcode 10 storyboard and info.plist git diff is not properly showingXcode 10 故事板和 info.plist git diff 未正确显示
【发布时间】:2019-08-12 02:18:42
【问题描述】:

我的Xcode 10 遇到了一个奇怪的问题。每当我在storyboardplist 上遇到冲突时,Xcode 并没有向我展示解决冲突的正确方法。请参阅屏幕截图,这是 storyboard 案例的示例。如果我在plist 文件上遇到冲突,那么我什至无法打开它(Xcode 说文件格式不正确)。现在我正在使用Xcode 9.4 来解决这个问题。有没有办法在Xcode 10 中修复它。提前致谢。

【问题讨论】:

  • 当你点击提交并检查这两个文件的差异时会发生什么,Xcode 在那个时候抛出的错误是什么?
  • @MidhunMP 提交按钮不会出现在 merging 中,而是出现一个合并按钮,但所有冲突都必须在 Xcode 中修复,然后只有合并按钮变为可点击。我认为这是一个 Xcode 错误。

标签: ios xcode git storyboard plist


【解决方案1】:

如果我在 plist 文件上遇到冲突,那么我什至无法打开它(Xcode 说文件格式不正确)

当然不能。一旦发生冲突,并且将 git 标记文本插入到文件中,该文件 not 的格式就不是正确的了——它不再是一个纯 XML plist 文件。

在 Xcode 中查看文本的常用方法是在导航器中按住 control 键单击故事板或 plist 文件,然后选择 Open As > Source Code。

然而,我个人所做的是使用 BBEdit 打开文件。无论哪种方式,您现在都在查看带有 git 标记的文本。

现在只需直接编辑文本,解决冲突并消除标记以恢复顺序。现在将合并标记为已解决并提交。

例如,在上面的例子中,我们有这样的文字:

<<<<<<< HEAD
    <string>3</string>
=======
    <string>2</string>
>>>>>>> branch

所以我们将删除&lt;&lt;&lt; 行、=== 行、&gt;&gt;&gt; 行以及剩余两行中的一个。现在我们可以将冲突标记为已解决、提交并继续。

可以在Xcode比较视图中查看和比较冲突的版本:

但我认为这样做不会给你带来任何好处。

【讨论】:

  • 我可以在 Xcode 9.4 中打开,问题仅在 Xcode 10 中
  • 我使用的是 Xcode 10.2,我只是在描述我的工作。
  • 我告诉过你。只需编辑文本即可解决。如果你愿意,你可以在 Xcode 中这样做。
  • 合并时?
  • 好的,在合并时我遇到了冲突,我有两个选项合并和取消,但是由于我有冲突,我的合并按钮被禁用,所以我有取消按钮,现在我可以使用取消按钮和必须在终端解决问题,或者打开旧的 xcode 并选择正确的一侧。现在在 xcode 上合并时,您可以/t 通过源代码打开。对于情节提要,您看到图像了吗
【解决方案2】:

转到Finder,打开TextEdit 中的Info.plist 文件。你会看到这样的线条

<<<<<<< HEAD
    <string>322</string>
=======
    <string>402</string>
>>>>>>> branch

删除任何不需要的行。再次打开Xcode,这次会正常打开没有显示Xcode saying the file is not proper format.

appx: 不需要的行可能是

<<<<<<< HEAD
    <string>322</string>
=======

=======
    <string>402</string>
>>>>>>> branch

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-15
    • 2020-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多