【问题标题】:Xcode Swift 4.2 Conversion FailsXcode Swift 4.2 转换失败
【发布时间】:2018-11-06 17:06:30
【问题描述】:

我有一个构建和运行良好但不会转换为 Swift 4.2 的项目。似乎有 2 个文件夹“项目名称”Tests.xctest 和“项目名称”UITests.xctest 我无法找到并导致转换失败。我无法删除文件夹或在 finder 中找到它们。我正在使用 Xcode 10.1。任何帮助,将不胜感激。一个典型的错误如下:

error: Build input file cannot be found: '/Users/devuser/Library/Developer/Xcode/DerivedData/<project name>-dksrhhtcudsdagageyofphmpyrgz/Build/Intermediates.noindex/SwiftMigration/<project name>/Products/Debug-iphonesimulator/<project name>UITests-Runner.app/PlugIns/<project name>UITests.xctest/<project name>UITests'

【问题讨论】:

    标签: swift xcode


    【解决方案1】:

    这个答案是我的副本,来自here


    使用 CommandShiftKOptionCommandShiftK.

    您还可以通过转到~/Library/Developer/Xcode/DerivedData 并删除项目文件夹来从 Finder 中清除您的派生数据(不用担心,这不会导致任何问题!)。要将该目录粘贴到 finder 中,您可以使用 CommandShiftG

    这应该可以解决任何转换问题。您收到的错误显示该错误是由DerivedData 文件夹引起的。

    【讨论】:

    • 我已多次清理构建文件夹但均未成功。但是删除派生数据消除了每个 .xctest 文件上的 1 个错误,现在每个文件上留下 1 个错误。我可以安全地删除 DerivedData 下的 ModuleCache.noindex 文件夹吗?
    • @zappullae 派生数据只是您构建的当前数据。它不应该引起问题。你可以安全地删除ModuleCache.noindex,但如果你因为一些奇怪的原因收到更多问题,你可以把它拖回Trash
    • @zappullae 不要删除派生数据文件夹OUTSIDE的任何文件,否则导致问题。
    • 所以看起来这是一个项目问题。我回到上次保存的版本,测试产品有所不同。不知何故,这两个产品的代码文件被删除了。我恢复了旧项目文件夹并复制了最新的代码文件,删除了派生数据,清理了构建文件夹并重新构建。 3 种产品的转换效果很好
    猜你喜欢
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    • 2018-03-02
    • 2012-03-18
    • 2011-10-25
    相关资源
    最近更新 更多