7

在 Xcode 4.4 和 4.4.1 上,我遇到了与我正在处理的特定项目相同的问题,我似乎无法从Refactor菜单选项中重命名任何类或变量。

每次我尝试重命名时,我都会为类/变量输入新名称,然后单击Preview左下角开始一个带有Finding files.... 但是,然后我收到一条消息说:

选择不是可以重命名的类型。

做出不同的选择,然后重试。

我很确定这不是我特定安装的 Xcode 的问题,因为我可以很好地重构其他项目,只是我似乎无法重构这个特定项目。

有任何想法的人吗?我对这个项目没有任何特别奇特的配置,它似乎只是一个随机的痛苦。我已删除所有派生数据并重新编制索引,但这似乎无济于事。

由于它在其他项目中工作正常,我想我可以尝试做的一件事是重新生成实际的项目文件本身。不知道有没有办法自动实现?

4

6 回答 6

6

如果它们在保管箱中,请将它们从那里取出。它破坏了项目文件。我已经发生了很多次,有时它使重构>重命名不起作用。

于 2013-09-29T21:15:52.797 回答
4

在尝试了许多不同的事情(调整项目设置、pch 等)之后,我设法解决了这个问题,结果证明有一种非常简单(而且完全违反直觉)的方法可以解决这个问题。

我所做的只是:-

  1. 复制我的整个项目文件夹(从ProjectProject Copy)。
  2. Project(原始文件夹)移动到垃圾箱。
  3. 重命名Project CopyProject.

奇怪的是,现在一切正常。

我真的无法弄清楚为什么会这样。如前所述,我已经删除了所有派生数据等,所以我不知道为什么这会让事情自发工作,但确实如此。

任何能够对此有所了解的人都将不胜感激,因为它确实暴露了 Xcode 的复杂程度,并且对引擎盖下发生的事情的任何理解总是有益的。

于 2012-08-20T11:18:35.103 回答
2

听起来像一个错误的索引。

我通常使用 nuke from space 选项来删除派生数据目录中的所有内容。

除非您已更改它(我将其更改为/tmp/bbum-derived),否则它将位于:

~/Library/Developer/Xcode/DerivedData

因此,我将退出 Xcode 并执行以下操作:

rm -rf ~/Library/Developer/Xcode/DerivedData

是的,这有点蛮力,但它有效。您可能会强制 Xcode 从 UI 重建索引,但我从不打扰。当然,作为我日常工作的一部分,我还安装了相当多的“奇怪”版本……

那是一个rm -rf 在 unix 用语中,它的意思是“核弹一切,不要问”。这很危险。不要输入错误的命令。)

于 2012-08-10T14:20:12.353 回答
0

似乎您在 gui 的某处有一个活动选择,也许您的某些文件或类被选择了?尝试在每个子窗口中取消选择并重试重构。

于 2012-08-10T14:20:38.573 回答
0

我对这个线程有点晚了,但我今天遇到了同样的问题,我能够让它最终正确重构,我想我分享它。

所以在很大程度上我做了bbum所说的,我关闭了xCode,核对了类文件所在项目的派生数据,然后重新打开了项目。这样做是行不通的;我发现(至少对我而言)关键是在 xCode 重新启动后我必须进行清理(命令转换 k)。之后我能够再次重命名类文件:)

另外作为旁注,我的项目分为主项目和一个静态库。当我不得不重命名静态库中的类时,我不得不退出主项目并执行我在静态库本身中描述的操作。当我尝试从主项目进行重构/重命名时,不知何故我得到了问题中描述的相同错误。

祝你好运!

于 2013-06-19T00:06:38.890 回答
0

该线程对我确定问题非常有帮助。

原来我必须使用磁盘工具修复磁盘。我之前访问过一个网站,该网站劫持了 Safari,并告诉我拨打紧急维修电话,这是一个明显的骗局。

我按照磁盘工具说明修复磁盘(包括按下 CMD-R 重新启动)。另一个线索是我试图提交到 git 并且 Xcode 说不行,Jose。

之后,我能够重构并提交更改,就好像什么都没发生过一样。我希望这有助于其他人作为调查的可能原因。

于 2015-08-23T21:55:21.127 回答