Ich stürze mich in App-Upgrade-Szenario. Es gibt unten Fehler und Warnung. Dieses Problem tritt jedoch nur auf, wenn ich AppStore Build installiert habe und obendrein meinen neuen Testflight Build installiert habe. Wenn ich Entwickler Build auf AppStore Build installieren, dann funktioniert es gut.Realm: Erhalten - [__ NSArrayM UTF8String]: unerkannter Selektor an Instanz
Fehler:
[__NSArrayM UTF8String]: unrecognized selector sent to instance
Warnung: Eine RLMRealm Instanz wurde während einer Schreibtransaktion freigegeben und alle anstehenden Änderungen gerollt wurden, zurück. Stellen Sie sicher, dass Sie für die Dauer des Schreibvorgangs einen Verweis auf den RLMRealm beibehalten.
Es stürzt sofort ab, wenn Sie auf App-Symbol tippen, also, ich habe keine Stack-Trace.
Realm Version: 0.96.3 & Xcode Version: 7.3
Unten ist mein Migrationscode dafür.
RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
config.schemaVersion = 3;
if (oldSchemaVersion < 2)
{
[migration enumerateObjects:DB_Class1.className
block:^(RLMObject *oldObject, RLMObject *newObject) {
newObject[@"thisIsArray_1"] = nil;
}];
[migration enumerateObjects:DB_Class2.className
block:^(RLMObject *oldObject, RLMObject *newObject) {
newObject[@"thisIsInt_1"] = 0;
newObject[@"thisIsInt_2"] = 0;
newObject[@"thisIsInt_3"] = 0;
}];
}
Alle oben genannten newObjects
sind nur in dieser Version hinzugefügt.
Update 1: Ich kann deleteRealmIfMigrationNeeded
für Android sehen. Gibt es ein eqvivalent in iOS? Ich habe nur deleteAllObjects
gefunden. Wenn ja, kann ich einfach meine alten Realm-Daten löschen und neue speichern.
Danke.
sehen dies, wenn es Ihnen hilft https://github.com/realm/realm-cocoa/issues/3422 –
@ Anbu.Karthik, Ja, auf dieser Grundlage I Reich aufgerüstet hatte, bekam aber nicht lösen – JiteshW
Die Fehlermeldung einfach sagt, dass 'UTF8String' an ein' NSArray' Objekt anstatt an das erwartete 'NSString' Objekt gesendet wird. – vadian