首次发布应用时核心数据导入

时间:2013-02-21 14:26:07

标签: iphone ios core-data

我的应用启动时数据导入存在问题。 在第一次启动时,我创建了许多核心数据对象(几乎400个对象)。 问题是,当我在模拟器中尝试应用程序时,一切似乎都是正确的,但在设备上,我必须等待很长时间,因为我的输入,也许,应用程序崩溃(不是每次)。

有人遇到过这个问题吗? 我应该尝试使我的输入脚本更有效吗? 是否存在一些关于使用Core Data进行数据导入的良好实践?

提前多多感谢!

2 个答案:

答案 0 :(得分:0)

我通常使用与Gopal相同的技术。除了文件大小之外,我遇到的唯一缺点就是你发现发货数据有误。如果发生这种情况并且您需要修复数据,则需要确定用户数据中是否存在错误数据并进行更新。我在发布时通过检查应用程序的NSUserDefaults中的didUpdateToVersionX值,查询用户数据存储以查找错误记录,更新相关对象,保存存储以及设置首选项标记来处理此问题。

您的种子数据是用户可编辑还是只读?如果它是只读的,您应该能够拥有单独的只读和用户可写存储(前者位于应用程序包中,后者位于Documents目录中)。 Marcus Zarra在回答另一个问题时做了nice writeup of this technique。根据您的设置,可能需要一些额外的工作。我想将上述应用程序切换到使用这种技术,但我从来没有机会。

答案 1 :(得分:-1)

我通常将sqlite文件捆绑在应用程序本身中,该文件包含初始数据。在应用程序启动时,检查db文件是否存在,如果没有将其从包中复制到文档目录或任何位置。

更快的启动时间,但代价是应用程序的大小增加。