【问题标题】:Rename failed in Xcode 9在 Xcode 9 中重命名失败
【发布时间】:2018-03-08 17:44:53
【问题描述】:

我在 Xcode 9 中使用“renamed”函数重命名了一个名为“DefaultRequestURL”的变量,它会提醒这一点: alert image 我检查了文件“ComposeController.swift”,没有“DefaultRequestURL”。 我已经重新启动 Xcode 并执行“Product -> Clean”,它仍然失败。

为什么会这样?我该怎么办?

【问题讨论】:

    标签: rename xcode9


    【解决方案1】:

    请过几分钟再试。也许后台索引仍在运行。此外,您必须构建您的项目才能使用 refactor->rename。 实际上,这一定是 Xcode 9 中的一个错误。尝试 9.1 beta,重构并不理想,但在那里效果更好。 这可能会有所帮助:https://forums.developer.apple.com/thread/80331

    更新:

    1. 关闭 Xcode
    2. 转到~/Library/Developer/Xcode/DerivedData 并删除包括“ModuleCache”在内的文件夹内容。
    3. 打开您的项目并构建
    4. 立即尝试重命名功能。它应该可以工作!

    更新 2:

    对于 Xcode 10,只需重新启动它就足够了。

    更新 3:

    仍然适用于 Xcode 12。有时只是重新启动会有所帮助,有时需要删除模块缓存。有时甚至 build->clean 也有帮助。

    【讨论】:

    • 你的意思是删除DerivedData文件夹的全部内容???那里有很多东西。你是说我们一个都不需要???
    • @ekashking 这是一种临时文件/缓存。将它们全部删除是安全的。 Xocde 存储索引、目标文件、一些预构建的东西、swift 模块缓存等。一旦您再次构建项目,这些内容将再次显示。
    • 这在 2018 年 4 月的 Xcode 9.3 中对我不起作用。
    • @JamesShapiro 尝试重新启动您的机器。或者打开活动监视器并寻找“SourceKit”进程,如果它在那里 - 杀死它。有时它会挂起并且不会与 Xcode 一起退出。
    • 我在 Xcode 10.1 上遇到了同样的问题。在 Swift 枚举中,我可以重命名 4 个案例中的 2 个,而另外 2 个只是给了我一条错误消息。 (它们都是正常的标识符,没有“默认”或其他必须放在引号中的东西。)重新启动不起作用。关闭 Xcode,删除 DerivedData 文件夹确实有效,然后重新启动 Xcode 确实有效。 - 我没有等到索引完成,因为没有必要。当您尝试重构并且索引尚未完成时,它将花费更长的时间,因为它必须先进行索引。
    【解决方案2】:

    感谢 Vlad E. Borovtsov,它帮助我解决了问题,我发现有一种方法不关闭 xcode。 这是我的解决方法:

    1. 转到~/Library/Developer/Xcode/,删除DerivedData文件夹

    2. command+r 运行,或 command+b 构建

    3. 尝试重命名,它对我有用。

    xocde 重新索引和重命名可以工作

    【讨论】:

    • 嗯,是的,它应该可以工作。但实际上,当你有机会时,关闭 Xcode 并再次启动总是好的。重新启动总是让它运行得更快一点,特别是如果你有故事板的交易。
    • @JamesShapiro 对此感到抱歉,我只在 Xcode9.1 上尝试过这个
    • 我使用的是 Xcode 10.0,问题仍然存在于 XCode 版本中,是否在 Xcode 11 中解决?
    • 在 11.3.1 中获取它。从 Xcode 中清理构建目录,退出 Xcode,删除 DerivedData 并启动 Xcode,但仍然无法重命名。必须在 Finder 中重命名并在 Xcode 中读取文件。
    【解决方案3】:

    无需删除 DerivedData 文件夹并重新构建。

    1. 关闭 Xcode
    2. 删除 DerivedData/ModuleCache.noindex 文件夹
    3. 打开 Xcode
    4. 重命名/重构

    在 10.2.1 上工作

    更新

    正在使用 Xcode 12 beta 4,但确实需要等待索引完成。

    【讨论】:

    • 它也发生在 11.3.1 上。而且这种方法仍然有效!
    • 它发生在 11.6 中。清理,重新启动 Xcode 不起作用。我会尝试这些步骤。编辑:这不起作用。
    【解决方案4】:

    对我来说,已经有一个文件夹名称我出于某种原因尝试重命名。手动删除文件夹有帮助。

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 2018-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多