2012-08-10 9 views
5

Ich erstelle derzeit eine App, die eine große Menge an benutzergenerierten Informationen erfordert, die in Core Data gespeichert werden. Wenn ich ein neues Update dieser App veröffentliche, möchte ich sicherstellen, dass diese Benutzer nicht alle diese Daten verlieren.Kerndaten in zukünftigen App-Versionen verwalten

Wenn ich meine aktuelle Version von meinem iPhone lösche, verschwinden alle Core-Daten - wird dies passieren, wenn ich eine neue Update-Version erstelle - führt die Aktualisierung dazu, dass alle Core-Daten gelöscht werden, wenn die App ersetzt wird? Wenn ja, was muss ich tun, um die Daten zu erhalten?

Ich werde nicht mein Core Data-Modell zwischen den Aktualisierungen werden zu ändern, wenn das alles ändert ...

Antwort

6

Einfache Frage - einfache Antwort ist die Kerndaten zu iTunes/iCloud als Teil der gesicherten iPhone-Backup, und die Benutzerdaten werden auch zwischen Updates beibehalten.

Sie können optional die Kerndaten in eine iCloud-Synchronisierung einbeziehen. Dies bedeutet, dass selbst beim Löschen der App und erneutem Installieren die Daten erhalten bleiben.

Wenn Sie Ihr Modell ändern, ist es sinnvoll, das alte Schema dem neuen zuzuordnen. Die Daten werden dann über dieses Mappingmodell übertragen, wenn die neue Aktualisierung erfolgt. Die vorherigen Schemadaten werden in die neuen Kerndaten übertragen planen.

Kerndaten Versionierung: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreDataVersioning/CoreDataVersioning.pdf

+0

danke, genau das, was ich brauchte! – user1388795

2

Wenn Ihre App in App-Store-Ver1.0 ist. Ver1.0.1 oder höher aktualisiert, CoreData wird beibehalten. Wenn sich das Kerndatenmodell ändert, obwohl alle vorherigen Kerndaten beibehalten werden.

Wenn es Ihre App in App-Store Ver 1.0 ist. Löschen einer Ver 1.0. Laden Sie es erneut herunter oder laden Sie die aktualisierte Version von, CoreData wird gelöscht.

Wenn Sie die App löschen, werden die Stammdaten gelöscht. Um dies zu verhindern, sollte die Verwendung der iCloud-Synchronisationsdaten funktionieren.

beziehen eine folgende Website, iOS How-To : Using Core Data with iCloud

müssen Sie folgenden Apple PDF lesen werden: coredata model versioning and data migration programming guide

+0

perfekt, danke! – user1388795