xcode - 是什么让 Xcode Command-Click(代码索引)停止工作?
问题描述
我的 Xcode 项目一直运行良好,能够通过命令单击代码中的元素(结构类型、方法调用、原型、枚举等)并跳转到定义。
由于灰尘兔子,我复制了整个项目文件夹。然后我进去把东西收拾一下。代码按预期构建,但后来我发现命令单击索引似乎都不起作用。命令单击任何内容(包括包含文件)只会对我发出哔哔声。
我在原始项目文件夹中打开原始项目并单击命令以查找定义。我将旧的 Xcode 项目文件复制到新的项目文件夹(替换新的),然后在旧项目中命令单击不再起作用。好像索引中断了,唯一的变化是项目所在的位置。
两个 Xcode 项目中的所有文件都解析(在项目导航器中单击时出现)。命令单击代码中的变量找不到上面 3 行字面上的声明。
被难住了,欢迎提出想法。
(我将展示一个示例,但 SDK/ADK 包含在 NDA 中)
解决方案
“什么真的会烤你的面条”... 如果项目文件(仅项目文件)位于文件服务器卷而不是本地存储卷上,则 Xcode 项目索引会中断。
作为清理过程的一部分,我在服务器上创建了新的项目文件夹。一切都很好地清理了,但是正如问题所指出的那样,Xcode 拒绝通过项目文件索引源代码。
在诊断这一点时,我从文件服务器的外部驱动器上制作了新清理项目的完整副本。当我打开这个项目时,一切看起来都很正常,我偶然发现索引正在工作。
所以,我在文件服务器上打开了 Xcode 项目文件,将所有文件位置设为“绝对”并重新编译。没有索引。然后我只将项目文件移动到我的桌面并打开它。它完美地索引。将项目文件移回文件服务器,索引再次失败。
推荐阅读
- java - Android 应用程序以安全且正确的方式存储客户端证书
- c# - StackExchange.Redis.RedisTimeoutException:等待响应超时
- javascript - BIRT 显示选项:动态重新排序项目的顺序
- selenium - org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start using Selenium Chromedriver and Chrome on Linux Machine
- r - 从 R 笔记本输出 Rmarkdown
- firebase - Firebase针对不同孩子的不同安全规则
- r - 对情节动画按钮做出反应
- python - 如何将列表中的每个值附加到 url 并每次生成新的 url
- html - CSS Flexbox 容器不会在 iOS 设备上垂直滚动
- jboss - 从 JBoss 4.0.5 迁移到 5x