/ / Kopieren von iPhone CoreData-Dateien von einem Projekt in ein anderes - iPhone, Core-Daten

Kopieren von iPhone CoreData-Dateien von einem Projekt in ein anderes - iPhone, Core-Daten

Ich versuche, zwei Apps zu erstellen, eine, die einen permanenten Speicher erstellt, und eine, die ihn verbraucht.

Bisher habe ich eine App entwickelt, die CoreData verwendet, um eine Datenbank erfolgreich aus einer XML-Datei zu erstellen. Dieses Projekt enthält also das Datenmodell, die .h / .m-Dateien für die Entitäten usw.

Ich versuche nun, der zweiten App das Lesen dieser .sqlite-Datei zu ermöglichen, indem ich die Datenmodelldatei, die .h / .m -Dateien, die sich auf die Entitäten beziehen, und die sqlite-Datei in dieses Projekt kopieren (über Vorhanden hinzufügen).

Der Code wird ausgeführt, kann jedoch keine Objekte in der Datenbank finden.

Gibt es Einschränkungen oder korrekte Schritte, wenn Sie versuchen, diese Dateien zu kopieren?

Antworten:

3 für die Antwort № 1

Die Lösung hier ist täuschend einfach.

Kopieren Sie einfach Ihre.xcdatamodel - Datei von einem Projekt zum anderen und wenn Sie Ihre App zum ersten Mal im Simulator ausführen, wird ein Ordner "Documents" für die App erstellt. Legen Sie einfach Ihre gespeicherten .sqlite - oder .binary - Dateien in das Verzeichnis "YourApp / Documents" im Ordner " Gerät. Sie finden das Simulatorverzeichnis unter "~ Benutzer / Bibliothek / Anwendungssupport / iPhone Simulator".

Sie können das myApp-Verzeichnis auch auf einem bereitgestellten iPhone herunterladen, bearbeiten und hochladen, indem Sie es in den Organizer ziehen und dort ablegen. Schauen Sie sich die Liste der Anwendungen an.

Das iPhone unterstützt keine XML-Stores mit CoreDaten, nur sqlite oder atomar (binär). Der sqlite-Speicher ist bei weitem die bessere Option für die meisten Anwendungen, da er nicht zur Laufzeit in den Speicher geladen werden muss.

Ist das was du gemeint hast?


0 für die Antwort № 2

Ich denke (nicht zu 100 Prozent sicher) in Ihrer Appplist. Wenn Sie den Namen Ihres Anwendungspakets auf dasselbe setzen, werden sie Ressourcen gemeinsam nutzen, da das Gerät der Meinung ist, dass sie dieselbe Anwendung sind ...


0 für die Antwort № 3

Ich glaube nicht, dass das so funktioniertdu willst es Auf dem iPhone läuft jede Anwendung in einer eigenen "Sandbox", und es ist nicht wirklich möglich, dass eine Anwendung Dateien schreibt, die eine andere lesen kann.


0 für die Antwort № 4

Sind es wirklich zwei verschiedene Projekte oder sind es zwei Ziele in demselben Projekt? Das scheint viel sinnvoller zu sein, und Sie können dann Entitätsobjekte freigeben, wenn sich diese ändern.


0 für die Antwort № 5

Zum Kopieren von Kerndatendateien aus einem Projekt nachAußerdem habe ich zuerst ein neues Projekt mit Unterstützung für Kerndaten erstellt und dann den Inhalt der vorherigen Coredata-Datei geöffnet. Mit Ausnahme des Root-Tags wurden alle untergeordneten Tags in die neue Kerndatendatei in das neue Projekt eingefügt. Vorher habe ich versucht, die Coredata-Datei in einem neuen Projekt zu löschen, die vorherige kopierte und den Namen geändert, und es funktionierte nicht.