xcode - 如何禁用 Interface Builder 文档版本控制自动更新?

标签 xcode interface-builder xib nib document-versioning

这个问题仍然得到很多人的支持。那么看看Update3。 once you have upvoted, commented, answered, please please please file a radar

查看 nib/xib 会修改文件,迫使我提交更改或撤消更改。这不是问题,除非出现合并冲突。

详细信息: 我在一个由 5 名 iOS 开发人员组成的团队中工作,在 XCode 的最后几个版本中,我们遇到了当任何人打开文件(不进行任何更改)时 .xib/nib 文件被触摸/修改的问题。

如果一个开发人员认为“管它呢,让我 checkin xcode 所做的任何修改”并 checkin 它,它不会就此停止。当另一个开发人员查看该 Nib 时,两台不同计算机(具有相同版本的 XCode 和 MacOS)上的同一文件将再次被触摸/修改。

.xib 文件中通常要修改的内容是这样的

    <key>com.apple.ibtool.document.version-history</key>
<dict>
    <key>interface-builder-version</key>
    <dict>
        <key>com.apple.InterfaceBuilderKit</key>
        <string>2844</string>
        <key>macosx.version</key>
        <string>12C60</string>
    </dict>
</dict>
<key>com.apple.ibtool.document.warnings</key>
<dict/>

但除此之外,它还会修改或移动 .xib 文件中的现有键值对。

我在SO和Google上搜索了很多,但没有看到很多关于这个问题的帖子。

当我升级所有 Nib 以处理 iPhone5 屏幕时,我遇到了合并冲突的噩梦,这本身并不太复杂,但由于文档版本控制而出现了大量合并冲突。

删除我不理解的代码,导致当我尝试打开 Nib 时 xcode 崩溃。 (我现在已经修复了这个问题,恢复到之前的状态)

任何有关如何避免此问题的建议,我们将不胜感激!

更新:注意到这个问题还没有解决,并且仍然经常得到投票。我只是好奇,是否有任何 Storyboard项目遇到同样的问题? (我还没有制作 Storyboard)。

更新2:对于所有遇到相同问题的人,即使您收到回复说存在现有雷达,也请提交雷达。它有助于将问题浮到顶部,只有到那时,XCode 之神才会解决它。

更新3:我仍然在该线程上看到相当多的赞成票,并且苹果错误报告仍然开放。因此,在对这个问题进行投票后, please file a radar ,包含我在问题中提到的详细信息(和/或添加您自己的解释)

Update4:这个问题仍然得到很多人的支持。那么看看Update3。 <强> once you have upvoted, commented, answered, please please please file a radar

Update5:根据 WWDC 2014 上 Apple 工程师提供的信息,此问题已在 Xcode6 中修复。一旦我确认此问题已得到修复,我将更新此问题(并可能关闭它)。

更新6:希望看到这个问题得到解决。将在 WWDC2015 上询问这个问题(通过我认识的人去那里)。如果其他获得 WWDC 门票的幸运者也能在 WWDC 2015 上做同样的事情,那就太好了

Update7: Xcode 7 来了,这个 bug 也来了:( 原始雷达报告 (11533872) 仍然开放

最佳答案

Xcode 4.6.3 版本解决了此问题。然而,正如评论所述,你们都需要运行相同的版本。如果四名开发人员使用 4.6.3,其中一名开发人员使用之前的版本,那么该开发人员将遇到相同的问题。但是,如果他们不提交该更改,则不会影响其他人。

受影响的两个 Xib 键是:

<string key="IBDocument.AppKitVersion">1187.39</string>
<string key="IBDocument.SystemVersion">12E55</string>

因此,最重要的是,让团队中的每个人都更新到 Xcode 4.6.3。

关于xcode - 如何禁用 Interface Builder 文档版本控制自动更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13654796/

相关文章:

ios - UITableView header 中容器 View 的高度错误

ios - 在实例化之前从 XIB 文件中读取属性

ios - ios项目结构是否有任何最佳实践或约定

ios - Swift - 如何检查 JSQMessagesViewController 中是否存在两个用户?

objective-c - XCode/OS X : Storyboard Minimum Requirements

iphone - 排除不支持多任务处理的设备

iphone - 如何使用带有 Interface Builder 的 UINavigationController 创建 UIViewController?

objective-c - 如何让自定义对象显示在 Interface Builder 对象面板中?

iphone - iPhone开发中如何加载单独的UIView

ios - Xcode 界面生成器 UI 中的字符串是否有替换文本语法?