这个问题仍然得到很多人的支持。那么看看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/