我在我的主项目中放了另一个项目,这个名为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': []
}
然后我锁定它,但是我无法写入文件错误,因为无效的虚拟文件系统覆盖文件错误。有人可以帮忙吗?
答案 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。
但是在清理和构建之后我收到了链接器错误。 问题解决了: