【问题标题】:Xcode 4.5 Automatically changing .xib filesXcode 4.5 自动更改 .xib 文件
【发布时间】:2012-10-11 05:06:02
【问题描述】:

自从我升级到 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 文件,以便我可以完成此操作?

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

【问题讨论】:

  • 我看到类似的行为,在 cvs 提交后,xib 被编辑,导致文件由于某种原因尝试解锁。我有兴趣找到一种禁用此功能的方法
  • 嗯,我不认为这个问题已经存在那么久了。我使 Xcode 保持最新。这是一个相当近期的发展。然而,持续时间并不相关。不管过了多久都很烦人。
  • 是的,它快把我逼疯了...... XIB 格式跟踪了太多关于类属性的信息 - 所以当你添加/删除不相关的代码时,XIB 会更新。

标签: xib xcode4.5


【解决方案1】:

据我所知,Xcode 会自动重新格式化 nib,根据需要在 .xib 文件中添加/删除。当我遇到这种情况时,出于我的目的似乎没有什么不同。

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

试试这个:

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

  1. 查看是否还有未修改的.xibs 无需修改即可打开。

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    而这条消息:
    “MBPreDeliveryComplete.xib”目前已被锁定,因为它在 Finder 中被标记为“已锁定”。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-23
      • 2023-04-01
      • 1970-01-01
      • 2012-09-16
      • 2012-10-25
      • 2012-05-14
      • 2018-01-06
      • 2012-09-26
      相关资源
      最近更新 更多