Wie kann ich die Realm-Datenbank vor dem Archivieren löschen und an Itunes Connect senden? Ich habe eine App erstellt, mit der ich neue Objekte in der Datenbank zum Testen in der Debug-Umgebung erstelle, aber ich möchte sie entfernen, wenn ich sie zur Verteilung an Apple iTunes sende.Clean Realm-Datenbank vor dem Build für die Veröffentlichung
Antwort
Sie sollten ein Compiler-Flag hinzufügen, um Ihnen mitzuteilen, ob sich die Anwendung im Debug-Modus befindet, und nur diese Testobjekte hinzufügen, wenn das Flag definiert ist. In das heißt -DDEBUG
in Build Settings > Other Swift Flags > Debug
, und dann tun
#if DEBUG
// Add test objects
#endif
Wo ist Ihre Datenbank gespeichert werden? Wenn Sie die Eigenschaft fileURL
des Standardobjekts Realm Configuration
überhaupt nicht geändert haben, wird sie standardmäßig im Verzeichnis "Dokumente" Ihrer App auf dem Gerät gespeichert. Dies ist nicht, das im Paket Ihrer App enthalten ist für den App Store verpackt. Wenn die App auf einem neuen Gerät bereitgestellt wird, wird eine neue leere Realm-Datenbankdatei darauf erstellt.
Und wie Stefan sagte, können Sie das Makro #if DEBUG
verwenden, um explizit Code zu isolieren, der möglicherweise Testdaten generiert, während Sie an der App arbeiten.
Das Hinzufügen einer Realm-Datei zu einem App-Bundle ist nur dann möglich, wenn Sie sie explizit als Ressource in Ihre App eingebettet haben (genau wie alle anderen Assets, die Sie enthalten haben).