这个问题仍然得到了很多支持。所以看看Update3。 一旦你投了赞成票,发表了评论,回答了问题,请提交雷达
查看nib/xib,修改文件,迫使我提交更改或撤消更改。在出现合并冲突之前,这不是问题。
详细信息:我在一个由5名iOS开发人员组成的团队中工作,在XCode的最后几个版本中,我们遇到了一个问题,当任何人打开文件时(没有进行任何更改),.xib/nib文件会被触摸/修改。
如果一个开发人员认为"搞砸了,让我签入xcode所做的任何修改"并签入它,它不会就此止步。当另一个开发人员查看该笔尖时,两台不同机器(具有相同版本的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和谷歌上搜索了很多,但我没有看到很多关于这个问题的帖子。
当我升级所有笔尖以处理iPhone5屏幕时,我做了一场合并冲突的噩梦,这本身并不太复杂,但由于文档版本控制,我遇到了大量合并冲突。
删除我不理解的代码,导致xcode在我尝试打开笔尖时崩溃。(我现在已经修复了这个问题,恢复到以前的状态)
任何关于如何避免这个问题的建议,我们都将不胜感激!
更新:我注意到这个问题还没有解决,而且仍然经常获得支持。我只是好奇,故事板项目中有没有遇到过同样的问题?(我还没有写故事板)。
更新2:对于所有遇到相同问题的人,请提交雷达,即使你得到的回复是现有雷达。这有助于将问题推向顶峰,XCode的众神只有在那时才会解决这个问题。
更新3:我仍然在这个帖子上看到了相当多的支持票,苹果漏洞报告仍然开放。因此,在对这个问题进行投票后,请提交一份雷达,并附上我在问题中提到的详细信息(和/或添加您自己的解释)
更新4:这个问题仍然得到很多支持。看看Update3一旦你投了赞成票,发表了评论,回答了问题,请提交雷达
更新5:根据苹果工程师在WWDC 2014上的信息,这个问题已经在Xcode6中修复。一旦我确认这个问题已经解决,我会更新这个问题(并可能关闭它)。
更新6:希望看到此问题得到修复。我会在WWDC2015上问这个问题(通过我认识的人)。如果其他获得WWDC门票的幸运儿也能在WWDC 2015 上做同样的事情,那就太好了
更新7:Xcode 7在这里,这个错误也是:(原始雷达报告(11533872)仍然打开
版本4.6.3的Xcode解决了这个问题。然而,正如注释所说,你们都需要运行相同的版本。如果有四个开发人员在4.6.3上,而一个在以前的版本上,那么该开发人员将遇到相同的问题。然而,如果他们不做出改变,那么就不会影响其他人。
受影响的两个Xib密钥是:
<string key="IBDocument.AppKitVersion">1187.39</string>
<string key="IBDocument.SystemVersion">12E55</string>
所以,最重要的是,让团队中的每个人都更新到Xcode 4.6.3。
尝试更新XIB的"文档版本控制:开发"设置:
Xcode: File Inspector: Interface Builder Document: Document Versioning: Development
至少将"接口生成器3.1"。