1

アプリの新しいバージョンをライブに設定しましたが、新しいバージョンに更新しているデバイスでは、applicationDidFinishLaunching:WithOptions: の直後にアプリがクラッシュします。CoreData データベースにいくつかの属性を更新/追加しました。

これはクラッシュを含むスレッドです。何か助けはありますか?

    Date/Time:       2013-03-07 18:14:47.532 +0100
    OS Version:      iOS 6.0 (10A405)
    Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread:  9


0   libsystem_kernel.dylib          0x3b501350 __pthread_kill + 8
1   libsystem_c.dylib               0x3807cfb2 pthread_kill + 54
2   libsystem_c.dylib               0x380b93ea __abort + 90
3   libsystem_c.dylib               0x380b9388 abort + 124
4   distribution                    0x001fed18 -[MOManager persistentStoreCoordinator] + 420
5   distribution                    0x0020000e -[NSThread(DataCore) threadContext] + 274
6   distribution                    0x001fd470 +[KwManagedObject defaultContext] + 44
7   distribution                    0x001fd6f6 +[KwManagedObject countWithPredicate:] + 26
8   distribution                    0x001fd6d6 +[KwManagedObject count] + 18
9   distribution                    0x001b3c46 +[DbThread dbCount] (DbThread.m:31)
10  distribution                    0x001b3d1a -[DbThread main] (DbThread.m:43)
11  Foundation                      0x38e69a3c __NSThread__main__ + 968
12  libsystem_c.dylib               0x3805f0de _pthread_start + 306
13  libsystem_c.dylib               0x3805efa4 thread_start + 4
4

1 に答える 1

4

CoreDataを使用するアプリを起動すると、アプリは(デフォルトで)Documentsディレクトリにsqliteファイルを作成します。このsqliteの内容は、作成したCoreDataモデル(xcdatamodeld)によって記述されます。CoreDataモデル(xcdatamodeld)に変更を加える場合は、それを使用してsqliteファイルを移行する必要があります。

これは、変更が軽微な場合、CoreData(軽量移行、ドキュメントを確認)によって自動的に実行できます。ただし、大きな変更を加える場合は、更新後にユーザーがアプリを起動したときに、データが手動で移行されることを確認する必要があります。これは、たとえば、作成した移行方法によって実行できます。新しいモデルを使用してCoreDataオブジェクトを初期化する前に、このメソッドを実行する必要があります。

こちらのドキュメントを確認することをお勧めします。また、AppStoreに送信する前に、必ずアプリをテストしてください。また、以前のバージョンのアドホックipaをデバイスにインストールし、古いバージョンを起動してから、更新されたipaをインストールしてアプリを再起動することにより、更新を「シミュレート」するようにしてください。

ご不明な点がございましたら、お気軽にお問い合わせください。

于 2013-03-07T21:33:40.383 に答える