Ich bin mir nicht sicher: Wenn ich sqlite3 in meiner App verwende, versende ich es mit einer fast leeren Datenbank. Im Laufe der Zeit fügt der Benutzer eine Menge hinzu, bis er ein Update installiert. Für mich sieht es so aus als würde ein Update die alte App ersetzen. Was ist der Trick, dass das Update nicht alle Daten überschreibt, die zuvor vom Benutzer eingegeben wurden? und wie wäre es mit Einstellungen in NSUSerDefaults? Bleiben sie intakt oder werden sie gelöscht, wenn der Benutzer aktualisiert?Wie kann sichergestellt werden, dass App-Updates nicht alle Benutzerdaten überschreiben?
2
A
Antwort
1
Wenn Sie die App zum ersten Mal starten, müssen Sie die Datenbankdatei aus dem Bundle in das Dokumentverzeichnis der Anwendung kopieren. Ihre Anwendung muss diese Kopie verwenden, wenn sie ausgeführt wird - nicht die im Paket. Wenn die Anwendung aktualisiert wird, bleibt die Datei im Dokumentenverzeichnis intakt und kann von der aktualisierten Version der App verwendet werden.
Werfen Sie einen Blick auf die AppDelegate in Apples SQLiteBooks iPhone-Beispielanwendung, um zu sehen, wie dies getan werden kann.
Verwandte Themen
- 1. Wie kann sichergestellt werden, dass @PreAuthorize definiert wurde?
- 2. Wie kann sichergestellt werden, dass Nachrichten zugestellt werden?
- 3. Wie kann sichergestellt werden, dass eine NSDecimalNumber keine Nachkommastellen darstellt?
- 4. Wie kann sichergestellt werden, dass Benutzer korrekte Koordinatenwerte eingeben?
- 5. Wie kann sichergestellt werden, dass eine Website für alle Bildschirmauflösungen geeignet ist?
- 6. Kann sichergestellt werden, dass Anfragen von einer bestimmten Domain kommen?
- 7. Wie kann sichergestellt werden, dass die Methode toString() in der Klasse neu implementiert wird?
- 8. Wie wird sichergestellt, dass bestimmte JavaScript-Dateien zuerst geladen werden?
- 9. Producer/Consumer, Wie kann sichergestellt werden, dass eine Thread Safe Queue leer ist, bevor alle Verbraucher ausgeschaltet werden?
- 10. Ruhezustand: Wie kann sichergestellt werden, dass ein übergeordnetes Element nicht gelöscht wird, wenn alle untergeordneten Elemente vorhanden sind?
- 11. Wie kann sichergestellt werden, dass ein Benutzer die Ergebnisse einer PHP-Skript-URL nicht anzeigt?
- 12. Wie kann sichergestellt werden, dass sqlite bestimmte Select-Abfragen nicht zwischenspeichert?
- 13. Wie kann sichergestellt werden, dass der Endpunkt eine Methode nicht ausführt, wenn sie bereits ausgeführt wird?
- 14. Wie kann sichergestellt werden, dass der als Template-Argument übergebene Funktionstyp die Argumente nicht ändert?
- 15. Wie kann sichergestellt werden, dass ein Element in XSD nicht existiert?
- 16. CloudFront-Caching - Wie kann sichergestellt werden, dass CF-Aktualisierungen vom S3-Ursprungsserver nach Ablauf aktualisiert werden?
- 17. Wie kann sichergestellt werden, dass zwischengespeicherte JavaScript- und CSS-Dateien erneut geladen werden?
- 18. Wie kann sichergestellt werden, dass Bilder in ein JQuery-Plugin geladen werden?
- 19. Wie kann sichergestellt werden, dass eine Operation auf Systemebene atomar ist? irgendein Muster?
- 20. Wie kann sichergestellt werden, dass ein Formular die Werte aus der vorherigen Anfrage enthält?
- 21. Wie kann sichergestellt werden, dass eine Zeichenfolge nur Zeichen aus einer vordefinierten Liste akzeptierter Zeichen enthält?
- 22. Wie kann sichergestellt werden, dass die .sln-Datei das Projekt über die Teammitglieder hinweg korrekt öffnet?
- 23. Wie kann sichergestellt werden, dass nur ein DIV bleibt, wenn JavaScript deaktiviert ist?
- 24. Wie kann sichergestellt werden, dass der Benutzer auf der Controller-Ebene im System angemeldet ist?
- 25. Wie kann sichergestellt werden, dass Dateipfade in der Datenbank denselben Dateitrenner verwenden?
- 26. Wie kann sichergestellt werden, dass eine Funktion nur eine positive Ganzzahl akzeptiert?
- 27. Wie kann sichergestellt werden, dass die in TestNG.xml angegebene Reihenfolge beibehalten wird?
- 28. Wie kann sichergestellt werden, dass eine Python-Funktion ihre Ausgabe nur anhand ihrer Eingabe generiert?
- 29. Wie kann sichergestellt werden, dass die asynchrone Methodenfortsetzung in einem anderen Thread ausgeführt wird?
- 30. Wie kann sichergestellt werden, dass NodeJS nach fehlerhaften Anforderungen wiederhergestellt wird?