2016-05-13 4 views
0
gesendet

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.

+1

sehen dies, wenn es Ihnen hilft https://github.com/realm/realm-cocoa/issues/3422 –

+0

@ Anbu.Karthik, Ja, auf dieser Grundlage I Reich aufgerüstet hatte, bekam aber nicht lösen – JiteshW

+0

Die Fehlermeldung einfach sagt, dass 'UTF8String' an ein' NSArray' Objekt anstatt an das erwartete 'NSString' Objekt gesendet wird. – vadian

Antwort

1

Realm Cocoa hinzugefügt die deleteRealmIfMigrationNeeded Option (auf RLMRealmConfiguration) in Version 0.102.0. Dadurch sollten Sie Ihre Migrationsprobleme umgehen können. Siehe die Änderungshinweise here.

+0

Ok. werde ich darauf eingehen. Vielen Dank – JiteshW

Verwandte Themen