0

我正在开发一个必须支持 iOS 5+ 的 iOS 应用程序。我已经阅读了iOS Data Storage Guidelines为了准备提交的应用程序,并在 Stackoverflow 中阅读了关于这些指南的几个问题和解决方案,但我仍然对如何处理这个有一些疑问。

我有一个sqlite数据库,其表在.sqlite文件中定义。当应用程序启动时,我将此文件复制到\Documents文件夹中,并将此类文件始终保存在\Documents. 该数据库首先包含应用程序可能需要的一些固定数据集合(要选择的城市列表等),其余的是将下载的用户相关数据。我读过这篇文章:应用程序必须遵循 iOS 数据存储指南,否则它们将在包含 .sqlite3 的应用程序中被拒绝,但我仍然不知道应该应用什么标准。这.sqlite不可下载,它包含在 Xcode 项目的 Supported Files 中,并且一些初始数据是从应用程序内部插入的,并且不可下载。依赖于用户的数据,嗯,我可以随时下载。我没有在我的应用程序中集成任何 iCloud 的东西。那么,将.sqlite文件始终保存在 Documents 中是否正确?AFAIK,您需要该文件才能执行所有数据库操作...

正如我所说,我的应用程序中没有包含任何与 iCloud 相关的代码,实际上我不知道 iCloud 是如何管理的,因为我从未告诉过要这样做,是否对应用程序进行了备份?我应该使用iOS Data Storage Guidelines所说的标志来防止文件被备份吗?我需要一些关于备份和 iCloud 考虑的指导。

还有一件事:我的应用程序还下载了一些与用户相关的图像。我在整个应用程序的多个视图中显示它们,因此我需要它们在应用程序正常工作时持续存在。但是,它是可下载的内容。那么,我应该把它们放在哪里呢?

非常感谢!

4

1 回答 1

0

我相信您的 .sqlite 文件应该在 Documents 中,这是放置它的正确位置。

您下载的图像可能应该在缓存中,但只要您设置“不备份”属性,您也可以在文档中摆脱它们。

您可以像这样设置跳过备份属性:

    BOOL success = [url setResourceValue: [NSNumber numberWithBool: skip]
                                  forKey: NSURLIsExcludedFromBackupKey error: &error];
于 2013-10-11T09:51:51.740 回答