FileMerge 显示 XIB 文件的错误内容

FileMerge showing wrong content for XIB files

当FileMerge比较XIB文件时,显示的内容与实际的内容完全不同。 FileMerge 显示的不是界面生成器文档(根是 <document type="com.apple.InterfaceBuilder3.Cocoa.XIB" ...>)而是 plist(第一个键是 "com.apple.ibtool.document.classes")。为什么是这样? FileMerge 可以处理 XIB 文件吗?如果可以,如何处理?

FileMerge 根据扩展名过滤一些文件。 XIB 是 运行 通过 ibtool(它出现在 plist 的第一个键中)。

禁用(建议删除):

  1. 在 FileMerge 中,打开首选项(FileMerge → 首选项,或 ⌘,
  2. 打开 "Filters" 选项卡
  3. 双击 "Extension" 列中的 "xib" 单元格。
  4. 更改条目(例如附加“_”),使过滤器不匹配 XIB 文件。

请注意 "Display" 列单元格是开关;单击它们将在 "Filtered" 和 "Original" 之间切换。但是,尝试通过切换到 "Original" 来禁用 "xib" 过滤器会导致错误:

Filter $(DEVELOPER_BIN_DIR)/ibtool --all $(FILE) is not working properly. The number of newlines cannot change as a result of filtering.