2016-05-13 2 views
0

私はアプリケーションのアップグレードシナリオでクラッシュしています。以下にエラーと警告を示します。しかし、この問題はAppStoreビルドがインストールされていて、その上に新しいtestflightビルドをインストールしたときにのみ発生します。 AppStoreビルドで開発者ビルドをインストールすると、正常に動作します。レルム:Getting - [__ NSArrayM UTF8String]:インスタンスに送信された認識できないセレクタ

エラー:

[__NSArrayM UTF8String]: unrecognized selector sent to instance

警告:アンRLMRealmインスタンスが書き込みトランザクション中に割り当てが解除され、保留中のすべての変更がロールバックされています。書き込みトランザクションの期間、RLMRealmへの参照を保持してください。

アプリアイコンをタップするとすぐにクラッシュするので、スタックトレースはありません。

レルムバージョン:0.96.3 & Xcodeのバージョン:7.3

以下はそのための私の移行コードです。

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; 
           }];    
    } 

上記newObjectsのすべてが唯一のこのバージョンで追加されます。

更新1:アンドロイド用にdeleteRealmIfMigrationNeededが表示されます。 iOSに同等のものはありますか?私はdeleteAllObjectsしか見つけませんでした。もしそうなら、私は単に古いレルムのデータを削除し、新しいレルムデータを保存することができます。

ありがとうございました。

+1

これを参照してください。https://github.com/realm/realm-cocoa/issues/3422 –

+0

@ Anbu.Karthik、はい、私は領域をアップグレードしましたが、解決できませんでした – JiteshW

+0

エラーメッセージ'UTF8String'は、' NSArray'オブジェクトに期待される 'NSString'オブジェクトではなく – vadian

答えて

1

レルムココアは、バージョン0.102.0のdeleteRealmIfMigrationNeededオプション(RLMRealmConfiguration)を追加しました。これにより、移行の問題を回避することができます。変更メモhereを参照してください。

+0

それを調べます。ありがとう – JiteshW

関連する問題