3

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

早些时候:

早些时候,我没有遵循任何特定的数据策略。我的应用程序基本上是将所有搜索数据(图像)下载到/Documents/目录中。一旦用户将特定项目标记为“收藏夹”,它们就会保存到/Documents/路径中我自定义的“收藏夹”目录中。我的应用程序不使用 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 可以吗?

4

1 回答 1

5

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

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

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

于 2012-09-20T02:11:39.170 回答