【发布时间】:2012-02-02 13:20:05
【问题描述】:
我有一些简单的疑问。我有一个在 sqlite 中存储一些重要数据的应用程序。更新应用程序后,我保存在数据库中的数据是否会被删除。我的意思是当新版本发布并安装在 iPhone 中时。如果它会被删除,我怎样才能让数据在所有版本中都保持不变。提前致谢。
【问题讨论】:
标签: iphone objective-c cocoa-touch
我有一些简单的疑问。我有一个在 sqlite 中存储一些重要数据的应用程序。更新应用程序后,我保存在数据库中的数据是否会被删除。我的意思是当新版本发布并安装在 iPhone 中时。如果它会被删除,我怎样才能让数据在所有版本中都保持不变。提前致谢。
【问题讨论】:
标签: iphone objective-c cocoa-touch
只要数据库文件保存在应用程序文档目录中,它就不会在应用程序更新时被覆盖。但是,如果架构发生变化,您需要将数据从以前的数据存储迁移到新的数据存储,然后再将其移动到位。
来自 iOS 编程指南:
应用更新期间保存的文件
当用户下载应用更新时,iTunes 会在新的应用目录中安装更新。然后它将用户的数据文件从旧安装移动到新的应用程序目录,然后再删除旧安装。
以下目录中的文件保证在更新过程中被保留:
- Application_Home/文档
- Application_Home/库
虽然其他用户目录中的文件也可能被移动,但您不应依赖它们存在 更新后。
发现于this document。
【讨论】: