10

自从我升级到 Xcode 4.5 后,我发现它会自动删除我访问的每个 xib 文件的一部分。这是该部分:

<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
        <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
        <real value="1536" key="NS.object.0"/>
</object>

我几乎可以忍受这个,但是当我再次访问该文件时,我发现还有更多的“自动”更改。它们更多样化,更难描述,所以除非我真的需要,否则我不会包含示例。

我不明白这里发生了什么。我正在寻找两个答案之一:

  1. 有什么方法可以禁用它吗?
  2. 为什么会发生这种情况,是否有某种方法可以强制 Xcode 将这些更改应用于所有 xib 文件,以便我可以完成此操作?

如果我能明白到底发生了什么以及为什么,我会感觉好多了。

4

2 回答 2

0

有一种方法可以禁用它,但它并非没有自己的问题(如下所列)。您可以在 Finder 中显示 xib 文件,获取文件的信息,然后在常规下,选择锁定。

问题 1:如果您像大多数人一样使用源代码控制,您将无法签出较早的提交或将您的分支重置为较早的提交,直到您解锁将由操作更改的所有文件。

问题 2:现在,每次在 IB 中查看文件时,都会从 xCode 窗口顶部向下滑动一个弹出窗口,标题为
“MBPreDeliveryComplete.xib”被锁定编辑,您可能无法保存更改。你想解锁吗?

此消息:
“MBPreDeliveryComplete.xib”当前已锁定,因为它在 Finder 中标记为“已锁定”。

带有按钮可以选择解锁或不解锁文件。当然,您可以选择不解锁文件,除非您确实打算进行更改。

于 2015-01-13T05:52:16.020 回答
0

据我所知,Xcode 会自动重新格式化 nib,.xib根据需要从文件中添加/删除。当我发生这种情况时,就我的目的而言,似乎没有什么功能上有所不同。

仅针对 SEO,我将提出这一点,因为这在跟踪版本控制(例如 Git)中的更改时非常相关。每次我.xib在 Xcode(我使用的是 5.0)中打开旧文件时,它们都会自动更改,并显示在我的 Git 客户端的差异工具中。

尝试这个:

* (如果您没有使用 Git 或某些版本控制,请为项目设置一个 repo 来测试它。)

  1. 看看是否还有剩余.xib的 unmodified 可以不修改就打开。

  2. 选择/查看它,但不要更改任何内容。

  3. 现在在项目导航器中选择/查看不同的文件。如果 旁边出现“M” .xib,请重建您的项目并验证其行为是否相同。

如果您想忽略这些,出于版本控制的原因,如果您不是故意对它们进行任何更改,请确保不要暂存/提交它们。

如果要“撤消”自动更改的文件:

  1. 右键单击项目导航器中的文件。
  2. 转到“源代码管理”>>>“放弃更改...”

或者,通过 Git 或您选择的版本控制工具丢弃它们。

于 2013-09-24T21:58:04.003 回答