【发布时间】:2012-05-27 04:55:10
【问题描述】:
我们有一个使用核心数据的 iOS 应用程序,我们正在使用初始数据库填充应用程序数据。 (SQLite)。稍后它将从互联网下载数据并更新数据库。我们将 SQLite 数据库复制到 Documents 文件夹。 Apple 表示这是不正确的,因为 Documents 文件夹中的文件会自动备份到 iCloud。他们不允许这样做,除非这些文件是用户创建的。
他们提到的解决方案。
为文件(在我们的案例数据库中)设置一个标志,它不会备份到 iCloud。但这仅适用于 iOS 5.1,我们不能这样做。我们需要支持 iOS 4 及更高版本。 (https://developer.apple.com/library/ios/#qa/qa1719/_index.html)
维护临时文件夹中的文件(我们的例子是它的数据库)。但是他们提到要删除我们在应用退出时放在临时文件夹中的所有内容。同样,这不是解决方案。
但我的问题是,如果我们不删除那有什么问题?当用户从 AppStore 更新到下一个应用程序版本时,临时文件夹会发生什么?它会删除内容还是在应用更新时保留临时文件夹中的任何内容?
或者有人对这个问题有其他解决方案吗?非常感谢您的帮助。
【问题讨论】:
-
我没有意识到它会同步所有应用程序文档但被禁止。苹果为什么要拍自己的腿?!我担心设备可能会在应用更新之前擦除缓存数据。
-
是的。我们不能依赖缓存文件夹。文档说操作系统可以在任何给定时间擦除内容。
-
老实说,这只是一个愚蠢的情况,似乎我们必须在 NSUserDefaults 中存储所有 sqlite 数据库、xml 配置文件、用户会话信息和所有其他东西:(
标签: iphone ios ios5 appstore-approval