web-dev-qa-db-de.com

Generierte Dateipfade für die Generierung von CoreData-Code konnten nicht ermittelt werden

Beim Erstellen meines Projekts für ein anderes Ziel erhalte ich diesen Fehler:

Generierte Dateipfade für Core Data-Code konnten nicht ermittelt werden Generation: Fehler Domain = NSCocoaErrorDomain Code = 260 "Keine aktuelle Version für das Modell Unter Pfad /User/abc/Documents/Code/xyz-ios/ABC/iPhoneXMPP/SRT/Model.xcdatamodeld:" UserInfo = {NSFilePath =/Benutzer/abc/Dokumente/Code/xyz-ios/ABC/iPhoneXMPP/SRT/Model.xcdatamodeld, NSLocalizedDescription = Keine aktuelle Version für das Modell unter Pfad /Users/abc/Documents/Code/xyz-ios/ABC/iPhoneXMPP/SRT/Model.xcdatamodeld:}

Fehlerhafter Pfad ist "

/Users/abc/Documents/Code/xyz-ios/ABC/iPhoneXMPP/SRT/Model.xcdatamodeld

"aber der Ordner" SRT "befindet sich im Ordner" Temp "in meiner Ordnerstruktur. Wie kann ich dieses Problem beheben?

19
Sakshi

In meinem Fall war es das Ergebnis von Model.xcdatamodeld, dass Konflikte beim Zusammenführen mit Remote (Quelle oder Kopf) auftraten. Irgendwie wurde dieser Konflikt von GIT nicht erkannt und als Conflict Free durchgerutscht. 

Lösung: Öffnen Sie Model.xcdatamodeld als xml (mit textEditor) und suchen Sie nach Konflikten (>>>). Konflikt beheben und speichern.

2

Ähnlich wie bei flacherThought Antwort fand ich, dass ich zunächst das Ziel deaktivieren und dann erneut überprüfen und dann erneut erstellen muss.

41
Tim Newton

Wählen Sie in Xcode Ihr Model.xcdatamodeld-Modell aus und aktivieren Sie das Kontrollkästchen "Zielmitgliedschaft" für Ihr neues Ziel im Inspektor.

17
shallowThought

In meinem Fall in der Dateiauswahl wurde die Codegenerierung als Swift ..__ ausgewählt. Da ich die Codegenerierungssprache als Objective-C . Ausgewählt habe, verschwand der Fehler.

Nach Auswahl von Objective-C 

Produkt> Reinigen

und dann Das Projekt neu erstellen.

Das hat bei mir funktioniert.

8

Nach dem manuellen Hinzufügen von Core Data (nicht vom Beginn des Projekts an) funktionierte nur Clean and Build für mich.

3
MrAn3

Modulinspektor> Modul> Aktuelles Produktmodul

 enter image description here

Danach reinigen und bauen.

1
NCFUSN

Wenn Sie NSPersistentContainer verwenden, ist es ab iOS 10 verfügbar Sie müssen das Ziel> Allgemein> Bereitstellungsinfo> Bereitstellungsziel auf 10.0 + ändern.

Dann Produkt> Clean & Build. Es funktionierte. 

1
Abz

Die oben gegebenen Antworten sind genau richtig, aber wenn diese nicht funktionieren, dann:

  1. Machen Sie eine Kopie Ihres Modells und bewahren Sie es irgendwo auf
  2. Löschen Sie das Modell aus Xcode
  3. Fügen Sie das Modell erneut dem Ordner hinzu, dem Sie es hinzufügen möchten

Das hat mein Problem gelöst. Hoffe das hilft.

1
jarora

In meinem Fall hatte ich das Verzeichnis umbenannt, in dem sich mein .xcdatamodel befand, was dazu führte, dass der alte Dateinameneintrag nicht aus der Compile Sources-Phase meines Ziels entfernt wurde.

Alles, was ich tun musste, war, die alte Datei aus der Compile Sources-Phase zu entfernen, indem nach xcdatamodeld gesucht und der relevante (jetzt irrelevante ...) Eintrag in der Build Phases-Registerkarte meines Ziels entfernt wurde:

 Remove irrelevant .xcdatamodel files from the <code>Compile Sources</code> phase

  • Vergessen Sie nicht, dies für ALL für die Ziele zu tun, die Ihr Core Data-Datenmodell enthalten. 

Wenn Sie fertig sind, stellen Sie sicher, dass Ihre aktuelle .xcdatamodeld-Datei zu Ihrem Ziel hinzugefügt wird. Du machst das:

a) Durch Klicken auf die Datei in Xcodes Projektnavigator (linke Spalte -> erstes Symbol):

 Select your .xcdatamodeld in Xcode's Project Navigator

b) Aktivieren Sie dann die Kontrollkästchen aller Ziele, zu denen diese Datei gehören soll, in Xcodes Dateiinspektor (rechte Spalte -> erstes Symbol) unter Target Membership:

 Tick all the targets you want your Core Data model to be a part of

0
m_katsifarakis

In meinem Fall habe ich versucht, ein externes Laufwerk zu erstellen. Kopieren Sie das Projekt auf das interne Laufwerk, und es funktioniert.

0
poima