【问题标题】:Deleting class file in Xcode results in compile error: "<unknown>:0: error: no such file or directory"在 Xcode 中删除类文件会导致编译错误:“<unknown>:0: error: no such file or directory”
【发布时间】:2016-05-17 02:23:35
【问题描述】:

我在 Swift/Objective-C 桥接 iOS 项目上使用 Xcode 7.3。前段时间,我在一个名为Ping.swift 的关联文件中创建了一个名为Ping 的类。然而,今天,该项目的另一位工程师决定我们不再需要这个文件/类,所以他删除了它并将他的更改推送到 git。它对他来说编译得很好。但是,在拉动之后,它不会为我编译。相反,它会产生这个相当乏味的编译错误:

<unknown>:0: error: no such file or directory: '/Users/chris/Sites/glanceios/Glance/Glance/Controllers/utils/Ping.swift'
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

是的,我已经尝试过删除派生数据,然后清理,将文件重新创建到同一个位置,燃烧鼠尾草,朝西跳雨舞等等......

仅供参考,this questionthis onethis one 都没有帮助。尽管它们每个都是关于相同的 Xcode 错误消息,但它们的原因都略有不同,因此它们的答案不适用。

【问题讨论】:

    标签: ios objective-c xcode swift


    【解决方案1】:

    在尝试了@theonethecallneo 建议的以下操作后(通过 rm rf、git reset--hard 手动删除派生数据,并遵循 here 的重要步骤,其中包括 Xcode 中的 HARD CLEAN(与我们都做的软清理相比)时间)我仍然没有运气

    但是后来@theonetheycallneo 给了我一些提示。 neo 建议我使用备用 IDE 搜索我的项目以获取对此类的引用。我这样做并在工作区中找到了它们。啊哈哈它一定和Pods有关。

    因此,pod 构建必须依赖对不再存在的类/文件的引用。以下是我从这一点开始修复它的方法:

    rm -rf ./Pods
    rm -rf ./Podfile.lock
    rm -rf ./Glance.xcworkspace
    pod install
    

    花了一段时间,但解决了它。唷。在上面加上#!/bin/bash,你就得到了一个方便的脚本,顺便说一句。

    【讨论】:

      【解决方案2】:

      确保 ./Glance/Glance/Helpers/Ping.swift 位于 git repo 的本地目录中。

      尝试

      git reset --hard HEAD
      

      在 Sublime 或您喜欢的原始文本编辑器中打开所有文件,然后搜索 controllers/utils/Ping.swift 并删除它们。有时项目文件中的错误引用会挥之不去。

      确保您的派生数据文件夹实际上已使用rm -rf ./{Derived-Data}/* 删除(有时 Xcode 的缓存只是在其他程序/插件擦除目录时重新填充)。

      有时 Xcode 需要强制退出来解除所有文件引用的链接。

      向苹果之神祈祷。

      【讨论】:

        猜你喜欢
        • 2023-01-22
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 2017-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-15
        相关资源
        最近更新 更多