使用restkit为预加载的数据库播种

时间:2012-12-05 17:39:12

标签: ios restkit

我正在尝试使用大约500 MB的种子数据库创建一个对象库。我是这样做的:

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

但是,无论何时进行adhoc部署,应用程序都会因“无法及时启动”错误而崩溃。 (注意:使用XCode尝试此操作时不会出现问题)

有没有办法提高此操作的性能?我该怎么做才能避免这个错误?它是一个太大的种子数据库吗?

3 个答案:

答案 0 :(得分:1)

这是一个非常庞大的种子数据库!我建议先尝试一个较小的一个,以确保它不是由它的巨大尺寸造成的。 RKTwitterCoreData示例在如何为初始存储设定种子方面有一个很好的例子:

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

答案 1 :(得分:0)

如果您未在合理的时间内从application:didFinishLaunchingWithOptions:返回,则“未能及时启动”错误是您获得的错误。一般来说,为了避免这种情况,你应该尽可能多地离开主线程。这种特殊情况没有什么不同,您应该在后台执行对象存储创建。

答案 2 :(得分:0)

当我的种子数据库大约60Mb时,我面临同样的问题。我把数据库搞定了