从iphone app导入/恢复备份的sqlite

时间:2011-04-16 02:16:37

标签: iphone sqlite core-data import

我正在使用Core Data开发我的第一个iPhone应用程序。目前很困惑如何恢复以前备份的sqlite文件。

我已成功通过电子邮件导出sqlite文件。但无法弄清楚如何实现导入/恢复功能。基本上这是我希望用户点击“导入数据”

时完成的
  1. 显示用户可以通过任何计算机访问的视图列表网址(保持应用程序正常运行)
  2. 当用户访问URL时,会出现一个带有两个按钮(浏览,上传)的简单网页   2A。用户可以从本地机器浏览并获取sqlite文件并点击上传
  3. 当app收到文件后,
      3A。运行将NSData转换为sqlite的逻辑并将其保存在文档文件夹中   3B。通知用户导入已完成
  4. 最后,应用程序已恢复数据..
  5. 我一直在浏览文章,但无法找到任何有用的信息。

    任何指针都将非常感激。感谢。

1 个答案:

答案 0 :(得分:0)

我会这样做。

  1. 将存档/导出的数据下载到tmp文件夹
  2. 将当前ManagedContext关闭到数据库
  3. 将现有数据库重命名为临时名称。
  4. 使用代码创建新数据库或将空白数据库从捆绑包复制到文档目录。
  5. 将ManagedContext连接到新数据库。
  6. 读取存档文件并将数据导入数据库。
  7. 成功后,删除已归档的数据文件和作为临时名称的旧数据库文件。
  8. 如果不成功,请将临时数据库重命名为当前名称。