0

約 500 MB のシード データベースでオブジェクト ストアを作成しようとしています。これが私がそれを行う方法です:

self.restObjectStore = [RKManagedObjectStore objectStoreWithStoreFilename:@"DB.sqlite"
                                                                            usingSeedDatabaseName:@"SEED-DB.sqlite"
                                                                                  managedObjectModel:self.managedObjectModel
                                                                                                     delegate:nil];

ただし、アドホック展開を行うたびに、「時間内に起動できませんでした」というエラーでアプリケーションがクラッシュします。(注: XCode でこれを試しても問題は発生しません)

この操作のパフォーマンスを向上させる方法はありますか? このエラーを回避するにはどうすればよいですか? シードデータベースが大きすぎませんか?

4

3 に答える 3

1

これはかなり巨大なシード データベースです。サイズが大きいことが原因ではないことを確認するために、まず小さいサイズで試してみることをお勧めします。RKTwitterCoreData の例には、初期ストアをシードする方法の良い例があります。

https://github.com/RestKit/RestKit/blob/master/Examples/RKTwitterCoreData/Classes/RKTwitterAppDelegate.m

于 2012-12-06T21:18:43.533 に答える
0

「時間内に起動できませんでした」というエラーはapplication:didFinishLaunchingWithOptions:、妥当な時間内に戻らなかった場合に発生するエラーです。一般に、これを回避するには、メインスレッドからできるだけ多くのことを行う必要があります。この特定のケースも例外ではなく、バックグラウンドでオブジェクト ストアの作成を実行する必要があります。

于 2013-07-10T00:53:56.590 に答える