我使用的一种相当丑陋的解决方案是添加一个额外的虚拟iOS或Mac OS X应用程序目标,我只用它来获得代码完成和文档。操作步骤如下:1. 添加一个"Cocoa Application"目标,将其命名为<项目名称>-doc。 2. 将您想要编辑的文件添加到新组中或使用新创建的目标组。 3. 确保您想要编辑的文件在右侧实用程序视图中的"Target Membership"部分中标记为<项目名称>-doc目标的成员。现在可以进行编辑并使用外部构建系统目标进行构建。如果这是一个iOS项目,您甚至可以更进一步,添加一个额外的"Empty Application"<项目名称>-run目标,用于"愚弄"Xcode在模拟器中运行您的外部构建应用程序,甚至在设备上运行,假设您的外部构建系统知道如何签名和构建具有正确架构的通用或普通二进制文件。操作步骤如下:1. 添加一个"Empty Application" iOS目标,并将其命名为<项目名称>-run。 2. 编辑<项目名称>-run方案,并在<项目名称>-run目标之前将您的外部构建系统目标添加为目标。 3. 更改<项目名称>-run方案的"Run..."部分,将可执行文件路径指向由您的外部构建系统构建的应用程序包。现在可以进行编辑并使用<项目名称>-run目标进行构建和运行,它将触发您的外部目标,然后在模拟器中运行或在设备上进行调试。我已经与<项目名称>-doc目标组合使用过这个方法,效果很好,只需确保将您编辑的文件标记为<项目名称>-doc目标的成员即可,否则Xcode将尝试为您构建东西。
Xcode的主缓存文件可能会损坏并导致此问题。在Xcode未运行时删除缓存文件,然后启动Xcode,您的代码完成和语法高亮将神奇地恢复。 ~/Library/Caches/com.apple.dt.Xcode 对于好奇的人,这是一个包,您可以右键单击,在Finder中“打开包”以查看所有组件。有趣的挖掘。