Ich bin dabei, meine iPhone-App erneut zu veröffentlichen, und jetzt erhält ein executeFetchRequest auf meinem UIManagedDocument einen SQLite-Fehlercode: 6922. Ich habe das Internet durchsucht und es gibt keinen SQLite-Fehlercode 6922. Jeder hat das gesehen. Alles hat mit Xcode 7 funktioniert.
Ich habe diesen Fehler in iOS 10 auch nach dem Speichern eines NSManagedObjectContext in einen NSPersistentStore, den ich auf eine bestimmte Datei gesetzt hatte, festgestellt. Nach dem Speichern wurde die Datei gelöscht (nachdem ich sie verschlüsselt und als eine andere Datei gespeichert hatte) und als ich das nächste Mal versuchte, über den executeFetchRequest auf Daten vom NSManagedObjectContext zuzugreifen, versuchte sie, die Daten aus der NSPersistentStore-Datei zu ziehen, die ich gelöscht hatte. Da die Datei nicht mehr existierte, gab es mir den "SQLite-Fehlercode: 6922, 'Festplatten-E / A-Fehler'"
Wenn ich die Datei, für die ich meinen NSPersistentStore eingestellt habe, nicht lösche, kann executeFetchRequest die Daten aus der Datei lesen, und es wird kein SQLite-Fehler ausgegeben.
Es scheint, dass in iOS 10 die Daten nicht im Speicher verbleiben oder standardmäßig die Daten aus der Datei gelesen werden.
Wenn ich den Originalcode im iOS 9.3-Simulator (XCode 8 GM) ausführe, funktioniert er wie bisher und es ist kein Fehler aufgetreten.
Tags und Links sqlite ios xcode8 uimanageddocument