如何避免Xcode对故事板文件的无偿编辑?

dan*_*anh 57 xcode xib

当我导航到我的一个xib文件时,Xcode将文件标记为触摸.撤消和还原无效.保存似乎没有坏处,但是故障导致我经常额外的git工作.

有没有其他人看到这个或对我的MainWindow.xib中的某些东西有所了解会导致它?

2016年编辑 - 仍在发生!

dan*_*anh 28

Apple称这是一个众所周知的问题:

这是对Bug ID#9847336的跟进.在进一步调查之后,已确定这是一个已知问题,目前正在通过工程进行调查.此问题已在我们的错误数据库中以原始错误ID#9056156提交.用于跟踪此重复问题的原始错误号可在State列中找到,格式为:Duplicate/OrigBug#.

  • 并且仍然在Xcode 7.2中.与XIBs.这太疯狂了. (7认同)
  • 这让我烦恼多年了!直到今天我才决定谷歌.该死的那个虫子必须是一个难以挤压的人.(xcode 6.4 ......) (5认同)
  • 并且仍然在Xcode 5.1.1中使用故事板. (3认同)
  • ...和6.2与.xibs.:( (3认同)
  • 我看不出苹果公司自己的开发者如何不会生气,他们现在已经修复了它. (2认同)
  • 和6.4与xibs (2认同)
  • 并且仍然在Xcode 8.2中使用XIB和Storyboard.2017年3月. (2认同)

Ada*_*eld 13

在尝试了许多不同的解决方案来解决这个非常烦人的bug之后,我发现了一种有效的方法(它肯定不是"修复",而是一种解决方法).

完成后锁定控制器.

在故事板中选择一个视图控制器,打开标识检查器,在文档部分的底部,您将看到一个锁定下拉列表.从锁定下拉列表中选择"所有属性".

如果你为所有给你问题的控制器(或者通常只是所有控制器)执行此操作,你会注意到当你打开故事板时,Xcode仍会修改各种元素的帧,但是然后立即撤消变化.

这导致开发周期为:

  1. 解锁视图控制器
  2. 执行任何必要的更改
  3. 锁定视图控制器
  4. 承诺

如果更适合您的需求,锁定也适用于逐个视图的情况.

这个bug现在已经有很长一段时间了,它似乎不会很快得到修复,所以不幸的是现在已经足够了.