从 iPhone 应用程序导入/恢复备份的 SQLite

发布于 2024-11-01 17:14:30 字数 449 浏览 1 评论 0原文

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

我已经成功通过电子邮件导出 sqlite 文件。但不知道如何实现导入/恢复功能。基本上,这就是我希望在用户单击“导入数据”时完成的任务

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

我一直在浏览文章,但无法找到任何有用的信息。

任何指示将不胜感激。谢谢。

I am working on developing my first iPhone app using Core Data. Currently puzzled with how to restore previously backed up sqlite file.

I have been successful in exporting the sqlite file via email. But can't figure out how to implement the import/restore feature. Basically this is what I wish to accomplish as user clicks on "Import Data"

  1. Display a view listing URL that user can access via any computer (keeping the app running)
  2. When user accesses the URL, a simple web page with two buttons (Browse, Upload) appears
    2a. User can browse and get the sqlite file from local machine and hit upload
  3. As app is done receiving the file,
    3a. Runs logic of converting NSData to sqlite and saves it in documents folder
    3b. Informs user that import is complete
  4. Finally app has the restored data..

I have been looking around through articles but am unable to find any helpful information.

Any pointers would be greatly appreciated. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光是把杀猪刀 2024-11-08 17:14:30

我会这样做。

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

I would do it this way.

  1. Download the archived/exported data to tmp folder
  2. Close the current ManagedContext to the database
  3. Rename the existing database to a temporary name.
  4. Create a new database with code or copy a blank database from the bundle to the document directory.
  5. Connect the ManagedContext to the new database.
  6. Read the archived file and import data into database.
  7. Once success, delete the archived data file and the old database file which is the temporary name.
  8. If not success, rename the temporary database back to the current name.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文