无效的虚拟文件系统覆盖文件

时间:2015-09-03 17:25:36

标签: xcode

我在我的主项目中放了另一个项目,这个名为OAuthSwift,它包含一个框架。当我尝试构建它时,我收到了这个错误:

  

< unknown>:0:错误:无效的虚拟文件系统覆盖文件'/Users/gabrieljones/Library/Developer/Xcode/DerivedData/Paul's_Console-bbbxnfmomaaurfeabxmnchoqmwpa/Build/Intermediates/OAuthSwift.build/Debug/OAuthSwiftOSX.build /unextended-module-overlay.yaml'

     

< unknown&gt ;:0:错误:clang importer创建失败

经过一番研究,我尝试了所有人说的一切 - 我打开了名为all-product-headers.yaml的文件,我希望它包含这个(website所说的内容):

{
    'version': 0,
    'case-sensitive': 'false',
    'roots': [

但它包含了这个:

{
  'version': 0,
  'case-sensitive': 'false',
  'roots': [
    {
      'type': 'directory',
      'name': "/Users/gabrieljones/Library/Developer/Xcode/DerivedData/Paul's_Console-bbbxnfmomaaurfeabxmnchoqmwpa/Build/Products/Debug/OAuthSwiftOSX.framework/Headers",
      'contents': [
        {
          'type': 'file',
          'name': "OAuthSwiftOSX-Swift.h",
          'external-contents': "/Users/gabrieljones/Library/Developer/Xcode/DerivedData/Paul's_Console-bbbxnfmomaaurfeabxmnchoqmwpa/Build/Products/Debug/OAuthSwiftOSX.framework/Versions/A/Headers/OAuthSwiftOSX-Swift.h"
        },
        {
          'type': 'file',
          'name': "OAuthSwiftOSX.h",
          'external-contents': "/Users/gabrieljones/Desktop/Coding/Xcode/Paul's Console/OAuthSwift-master-11/OAuthSwiftOSX/OAuthSwiftOSX.h"
        }
      ]
    },
    {
      'type': 'directory',
      'name': "/Users/gabrieljones/Library/Developer/Xcode/DerivedData/Paul's_Console-bbbxnfmomaaurfeabxmnchoqmwpa/Build/Products/Debug/OAuthSwiftOSX.framework/Modules",
      'contents': [
        {
          'type': 'file',
          'name': "module.modulemap",
          'external-contents': "/Users/gabrieljones/Library/Developer/Xcode/DerivedData/Paul's_Console-bbbxnfmomaaurfeabxmnchoqmwpa/Build/Intermediates/OAuthSwift.build/Debug/OAuthSwiftOSX.build/module.modulemap"
        }
      ]
    }
  ]
}

是的,我将其更改为我应该喜欢的版本:

{
 'version': 0,
 'case-sensitive': 'false',
 'roots': []
}

然后我锁定它,但是我无法写入文件错误,因为无效的虚拟文件系统覆盖文件错误。有人可以帮忙吗?

8 个答案:

答案 0 :(得分:36)

在Xcode 8.0上进行更改后重新运行我的应用程序时随机遇到此问题。我尝试了Product > Clean,甚至删除了构建文件夹cmd + option + shift + k并完全删除了派生数据文件夹,但这并没有结束。仍然有同样的错误。 重新启动Xcode最终为我工作

答案 1 :(得分:27)

嘿,我对此有一种感觉: 我认为这可能只是当你的目标名称中包含非字母数字字符时Xcode被破坏的情况。 我的项目也有目标名称中的撇号

你的:/ Xcode / DerivedData / Paul's_Console

我的:/ Xcode / DerivedData / Lord's_Prayer

您可以尝试更改目标名称吗?我从here得到了关于思想的提示。

答案 2 :(得分:3)

如果路径中的任何项目包含某些非字母数字字符,那么您将遇到此问题。

我遇到了这个问题,因为我的Xcode方案的名称包含一个撇号。我的目标名称完全没有非字母数字字符。删除撇号允许我构建。

感谢nanospeck给我提供导致这一发现的线索。

答案 3 :(得分:3)

在归档我的项目时面临同样的问题,但您可以通过删除应用程序的DerivedData来解决此问题。

以下是删除DerivedData的步骤:

1)从xcode的窗口菜单中选择Organizer。

2)现在你需要逐个选择构建。

3)您可以通过按键盘上的删除按钮删除所选的版本。

这将清除项目的所有derivedData,现在您已准备好继续。玩得开心:)

答案 4 :(得分:2)

不仅删除DerivedData, 你需要删除ModuleCache文件夹,它对我有用。

答案 5 :(得分:1)

在我的情况下,错误是由嵌套在类

中的枚举引起的

改变

class A {
    private enum E {
        ...
    }
    ...
}

fileprivate enum E {
    ...
}

class A {
    ...
}

解决了问题

答案 6 :(得分:1)

清理清理构建文件夹... 之后,让Xcode完成索引,然后构建。

答案 7 :(得分:1)

因此,在遇到这个问题后,我发现原因是在我的项目名称中使用了'。所以我renamed my project following the steps outlined by Luke and Dan

但是在清理和构建之后我收到了链接器错误。 问题解决了:

  • 点击左侧“项目导航器”中的项目,然后选择“构建阶段”
  • 在“使用库链接二进制文件”中删除具有旧名称的库
  • 然后清理并构建(Command + Shift + K清理,Command + B构建)。