CoreData: error: (14) E / A-Fehler für die Datenbank

8

Beim Kompilieren und Ausführen im XCode eines Projekts mit Core Data bekomme ich einen Fehler, den ich noch nie zuvor gesehen habe:

%Vor%

Der Code, der diese Nachricht generiert, lautet:

%Vor%

Ich habe Build->Clean ausprobiert, abgeleitete Daten entfernt und die App deinstalliert.

Ich habe diese Frage vor dem Posten und ich überprüft glaube, das Problem ist anders.

Hinweis: Der SQLite ist eine Ressource der App

Die Informationen mit dem vorgeschlagenen Debug

%Vor%     
ppaulojr 12.09.2013, 20:08
quelle

2 Antworten

6

Jetzt, da die NDA auf iOS7 aufgehoben wurde, kann ich die Problemumgehung, die ich für dieses Problem gefunden habe, zum Abschluss hinzufügen.

Die Core-Daten in iOS7 verwenden standardmäßig WAL in sqlite .

Die einzige Lösung, die funktioniert hat, war, den sqlite mit dem iOS6-Simulator ohne WAL zu erstellen und in das Projekt zu importieren:

%Vor%     
ppaulojr 19.09.2013, 16:41
quelle
3
%Vor%

erstellt einen Pfad innerhalb des Anwendungspakets, das schreibgeschützt ist. Der dauerhafte Speicher Die Datei muss sich in einem beschreibbaren Verzeichnis befinden, z. das Verzeichnis "Dokumente".

BEARBEITEN: Die obige Antwort ist eigentlich falsch, es ist möglich, eine schreibgeschützte Core Data-Datei aus dem Anwendungspaket zu öffnen (mit NSReadOnlyPersistentStoreOption ). Das einzige, was ich mir vorstellen kann ist, dass die Die gebündelte Datei ist keine gültige Core Data-Datenbank. Hinzufügen des Startarguments

%Vor%

kann helfen, das Problem zu lokalisieren.

    
Martin R 12.09.2013 20:21
quelle

Tags und Links