关于 iphone:iOS 应用被拒绝 – 数据存储指南

iOS App Rejected - Data Storage Guidelines

上周我的 iPhone 应用程序被拒绝,因为我没有遵守 iOS 数据存储指南。我的应用程序基本上会搜索某些数据并将它们显示给可以与其他人(Twitter、电子邮件等)共享它们的用户,或者将它们保存到"收藏夹"以便以后查看。

之前:

之前,我没有遵循任何特定的数据策略。我的应用程序基本上是将所有搜索数据(图像)下载到 /Documents/ 目录中。一旦用户将特定项目标记为 "Favorite",它们就会保存到 /Documents/ 路径中我自定义的 "Favorites" 目录中。我的应用程序不使用 iCloud。此外,一旦用户看到它们并且不再在同一个视图中,我也忘记清除下载的搜索数据(图像)。从那以后,我发现整个策略很糟糕,也是我的应用被拒绝的原因。

现在:

现在,由于我的应用被拒绝,我已经加倍努力修复我的应用并使其尽可能完美。我现在遵循的数据策略非常简单:

a) 所有下载的搜索数据(搜索结果的图像和 pList 文件)现在都在 /Library/Caches 目录中创建。

b) 当用户将项目添加到"收藏夹"时,与该项目相关的数据(图像和文本)随后会保存到 /Documents/ 目录中。

c) /Library/Caches 和 /Documents/ 目录中的所有文件都标有属性"不备份",因为我不想在 iCloud 上占用任何空间。

d) 一旦用户移动到不同的视图并且不再访问搜索结果,/Library/Caches 目录中的所有搜索相关数据都会立即清除。

e) 在应用程序启动时,我会检查 /Library/Caches 目录中是否有任何来自先前会话的残留文件,以防应用程序过早终止。如果找到之前搜索会话的任何残留文件,我会删除它们。

我的问题是:

A) 我现在遵循的数据存储策略是否可以接受?

B) 我是否需要在 /Library/caches/ 中使用"不备份"属性标记任何与搜索相关的文件,或者这是否不必要?

C) 我应该在 /Documents/ 目录中使用"不备份"属性标记与用户最喜欢的项目相关的数据,还是可以将用户最喜欢的项目备份到 iCloud?


A) 这个数据策略听起来好多了,也许下面列出了一个小调整。

B) 您不需要使用"不备份"属性标记这些文件。此外,您甚至不需要手动清除这些文件。这些文件不会通过 iTunes 或 iCloud 进行备份,并且只会在磁盘空间不足的某些极端情况下被清除。

C) 用户最喜欢的项目当然应该备份到 iCloud。这将是对 iCloud 的正确使用,因为它是有意为用户生成的内容而设计的。