xcode - FileMerge 显示 XIB 文件的错误内容
问题描述
FileMerge 比较 XIB 文件时,显示的内容与实际内容完全不同。<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" ...>
FileMerge 显示 plist(第一个键是“com.apple.ibtool.document.classes”),而不是界面构建器文档(根是)。为什么是这样?FileMerge 可以处理 XIB 文件吗?如果可以,如何处理?
解决方案
FileMerge 根据扩展名过滤一些文件。XIB 通过 ibtool 运行(出现在 plist 的第一个键中)。
要禁用(建议删除):
- 在 FileMerge 中,打开首选项(FileMerge → 首选项,或⌘,)
- 打开“过滤器”选项卡
- 双击“扩展”列中的“xib”单元格。
- 更改条目(例如附加“_”),使过滤器与 XIB 文件不匹配。
注意“显示”列单元格是切换;单击它们将在“已过滤”和“原始”之间切换。但是,尝试通过切换到“原始”来禁用“xib”过滤器会导致错误:
过滤器 $(DEVELOPER_BIN_DIR)/ibtool --all $(FILE) 无法正常工作。换行数不能因过滤而改变。
推荐阅读
- python - Pandas / Matplotlib 的结构化数据
- javascript - 两个循环的异步调用,然后是一个同步调用
- mysql - 获取大型数据集的 JDBC ResultSet 内部机制
- linux - Cron 作业不适用于 EC2 Aws Ubuntu 18.04 实例?
- javascript - 我应该如何编译一个角度模块包?
- html - 如何使 CSS 动画在 IOS Chrome 上运行?
- bash - 将命令字符串的一部分存储为 bash 中的变量
- c - 在 C 中生成 1 到 100 之间的随机双精度
- reactjs - 将组件作为道具传递并在事件中使用它
- firebase - Flutter 和 FCM(Firebase 云消息传递)onMessage、onResume 和 onLaunch 在单击通知时未触发(包:firebase_messaging 7.0.0)