2015-09-03 6 views
25

Ich habe ein anderes Projekt in mein Hauptprojekt aufgenommen, dieses Projekt namens OAuthSwift, und es enthielt ein Framework. Als ich ihn zu bauen versuchte, bekam ich diese Fehlermeldung:Ungültige Überlagerungsdatei für das virtuelle Dateisystem

<unknown>:0: error: invalid virtual filesystem overlay file '/Users/gabrieljones/Library/Developer/Xcode/DerivedData/Paul's_Console-bbbxnfmomaaurfeabxmnchoqmwpa/Build/Intermediates/OAuthSwift.build/Debug/OAuthSwiftOSX.build/unextended-module-overlay.yaml'

<unknown>:0: error: clang importer creation failed

Nach einigen Recherchen habe ich versucht, alles, was die ganze Volk - ich die Datei geöffnet genannt all-product-headers.yaml und ich es erwartet hat, dies zu enthalten (was die website sagte) :

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

sondern enthielt es das:

{ 
    '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" 
     } 
     ] 
    } 
    ] 
} 

Ja, habe ich es auf die Version, die ich sollte dies mögen:

Und dann habe ich es gesperrt, aber ich habe die nicht in der Datei Fehler sowie der ungültige virtuelle Dateisystem Overlay-Datei Fehler schreiben können. Kann jemand helfen?

+0

Ich erlebe das gleiche Problem. Hast du irgendeine Lösung gefunden? – nanospeck

Antwort

26

Hey, ich habe ein Gefühl dabei: Ich denke, dies könnte nur ein Fall sein, in dem Xcode gebrochen ist, wenn Sie nicht-alphanumerische Zeichen in Ihrem Zielnamen haben. Mein Projekt auch hatte und Apostroph im Zielnamen

Yours:/Xcode/DerivedData/Paul's_Console

Mine:/Xcode/DerivedData/Lord's_Prayer

können Sie versuchen, Ändern des Zielnamens Ich habe einen Hinweis auf Gedanken von here bekommen.

+0

Danke, ich schaue mir das an. – brimstone

+2

Das ist richtig. Entfernen Sie die Apostrophe. Es scheint auch keinen Leerraum im Zielnamen zu geben. – bowditch

+2

Ich bin jedes Mal erstaunt, wie viel Zeit und Kopfschmerzen SO spart mir, danke für den Hinweis! Hat jemand einen Fehlerbericht eingereicht? –

3

Es scheint, dass dieses Problem auftritt, wenn ein Element im Pfad bestimmte nicht alphanumerische Zeichen enthält.

Ich stieß auf dieses Problem, weil der Name meines Xcode-Schemas ein Apostroph enthielt. Der Name meines Ziels war vollständig frei von nicht-alphanumerischen Zeichen. Durch das Entfernen des Apostrophs konnte ich bauen.

Vielen Dank Nanospeck für den Hinweis, die zu dieser Entdeckung führen.

+1

Ich habe einen Fehlerbericht an Apple eingereicht. Danke für die Hilfe. – brimstone

+0

Bestätigung, dass es immer noch nicht am 10/25/2016 behoben ist –

3

Konfrontiert mit dem gleichen Problem beim Archivieren meines Projekts, aber Sie können dieses Problem durch Löschen der DerivedData der App loswerden.

Im Folgenden sind Schritte zu DerivedData löschen:

1) Wählen Sie die Veranstalter aus dem Fenster-Menü des Xcode.

2) Jetzt müssen Sie die Builds einzeln auswählen.

3) Sie können den ausgewählten Build löschen, indem Sie auf der Tastatur die Löschtaste drücken.

Dadurch werden alle abgeleitetenDaten für das Projekt gelöscht und Sie können jetzt weitermachen. Viel Spaß Jungs :)

33

Dieses Problem wurde zufällig beim erneuten Ausführen meiner App nach Änderungen an Xcode 8.0 festgestellt. Ich versuchte Product > Clean, und löschte sogar den Erstellungsordner cmd + option + shift + k und löschte den abgeleiteten Datenordner vollständig, aber das endete nicht am Arbeiten. Immer noch der gleiche Fehler.Neustart Xcode ist, was für mich funktionierte.

+1

Das gleiche hier. Das Neustarten von Xcode hat das jetzt auch für mich gelöst. –

+1

Yup ... Ich wollte gerade eine Antwort hinzufügen, die dasselbe sagt: Starten Sie Xcode einfach neu. – Dan1one

+0

Wenn Sie nach dem Löschen und Löschen von abgeleiteten Daten Xcode noch nicht erstellen, schließen und erneut öffnen können. Es hat für mich funktioniert. – nodebase

2

Nicht nur löschen DerivedData funktioniert, Sie müssen ModuleCache Ordner auch löschen und es hat für mich funktioniert.

2

Es ist in meinem Fall Fehler wurde

Wechsel in Klasse geschachtelt von Enum verursacht

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

in

fileprivate enum E { 
    ... 
} 

class A { 
    ... 
} 

gelöstes Problem

1

Nach reinigen und bereinigter Build Mappe ... lassen Sie den Xcode die Indizierung beenden, dann bauen.

0

So, nachdem ich in dieser Frage laufen fand ich, dass die Ursache die Verwendung von "in meinem Projektname ist. Also ich renamed my project following the steps outlined by Luke and Dan.

Aber nach der Reinigung und Gebäude bekam ich einen Linkerfehler. Das Problem wurde durch gelöst:

  • auf das Projekt in der „Projektnavigation“ gehen Sie auf die Schaltfläche links dann
  • Im „Link-Binary mit Bibliotheken“ entfernen Sie die Bibliothek mit der „Phasen Build“ geht die Auswahl alter Name
  • dann sauber und baut (Command + Shift + K zu reinigen, Befehl + B zu bauen).