【发布时间】:2018-03-08 17:44:53
【问题描述】:
我在 Xcode 9 中使用“renamed”函数重命名了一个名为“DefaultRequestURL”的变量,它会提醒这一点: alert image 我检查了文件“ComposeController.swift”,没有“DefaultRequestURL”。 我已经重新启动 Xcode 并执行“Product -> Clean”,它仍然失败。
为什么会这样?我该怎么办?
【问题讨论】:
我在 Xcode 9 中使用“renamed”函数重命名了一个名为“DefaultRequestURL”的变量,它会提醒这一点: alert image 我检查了文件“ComposeController.swift”,没有“DefaultRequestURL”。 我已经重新启动 Xcode 并执行“Product -> Clean”,它仍然失败。
为什么会这样?我该怎么办?
【问题讨论】:
请过几分钟再试。也许后台索引仍在运行。此外,您必须构建您的项目才能使用 refactor->rename。 实际上,这一定是 Xcode 9 中的一个错误。尝试 9.1 beta,重构并不理想,但在那里效果更好。 这可能会有所帮助:https://forums.developer.apple.com/thread/80331
更新:
~/Library/Developer/Xcode/DerivedData 并删除包括“ModuleCache”在内的文件夹内容。更新 2:
对于 Xcode 10,只需重新启动它就足够了。
更新 3:
仍然适用于 Xcode 12。有时只是重新启动会有所帮助,有时需要删除模块缓存。有时甚至 build->clean 也有帮助。
【讨论】:
感谢 Vlad E. Borovtsov,它帮助我解决了问题,我发现有一种方法不关闭 xcode。 这是我的解决方法:
转到~/Library/Developer/Xcode/,删除DerivedData文件夹
command+r 运行,或 command+b 构建
尝试重命名,它对我有用。
xocde 重新索引和重命名可以工作
【讨论】:
无需删除 DerivedData 文件夹并重新构建。
在 10.2.1 上工作
更新
正在使用 Xcode 12 beta 4,但确实需要等待索引完成。
【讨论】:
对我来说,已经有一个文件夹名称我出于某种原因尝试重命名。手动删除文件夹有帮助。
【讨论】: