3

我的应用有可下载的应用内购买。下载内容后,我现在将其存储在文档目录中。但我知道 Apple 很挑剔,可能会拒绝我的应用程序,因为可以恢复的内容不应该存储在文档目录中,这意味着将保存到 icloud。

我想过使用临时目录或缓存目录,但是当 iOS 需要空间时,这些目录可以随时清空。

我应该把它保存在哪里?

4

3 回答 3

6

Documents目录只能用于无法下载的用户生成数据(包括包含用户可选设置和类似设置的潜在数据库),所以您是对的,如果您将可下载的内容存储在那里,您可能会被拒绝。

我这样做的方式是将下载的数据存储在Cache其中(正如您所说,在空间不足时可以随时清除),并在其中存储一小段数据Documents,表示内容应该Cache. 当Documents说数据应该存在而不存在时,我会通知用户由于空间问题,该内容已被 iOS 自动删除,并提供用户重新下载。

这样,如果用户暂时不使用该内容,他可以将其设备上的空间用于其他事情,并且仍然可以随意再次下载该内容。就像如果我是用户我想要一个应用程序工作一样:)

编辑:Library如果您需要它们始终保持不变,您可以将它们放入,但请记住将它们标记为未备份到 iCloud,否则您很可能会遭到同样的拒绝。

于 2013-02-09T16:55:56.753 回答
0

我还阅读了文档文件夹用于用户生成的内容,并且建议使用缓存文件夹,尽管您的数据可以在需要时删除。我还读到,当面向 ios 5.1 及更高版本时,可以选择使用带有无备份标志的文档文件夹。

请参阅 iOS 5.0.1:如何验证文件夹是否标记为 iCloud 的“不备份”?

在 iOS 5.0.1 中将“不备份”属性添加到文件夹层次结构

于 2013-04-21T00:51:53.930 回答
0

这里的文档https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/DeliverProduct.html#//apple_ref/doc/uid/TP40008267-CH5-SW5

Documents文件夹是移动内容的地方,如果你想让它持久存在的话。

在 iOS 中,您的应用可以管理下载的文件。这些文件由 Store Kit 框架在未设置备份标志的情况下保存在 Caches 目录中。下载完成后,您的应用程序负责将其移动到适当的位置。对于在设备磁盘空间不足时可以删除的内容(稍后由您的应用重新下载),请将文件保留在 Caches 目录中。否则,将文件移动到 Documents 文件夹并设置标志以将它们从用户备份中排除。

于 2014-07-09T10:00:49.367 回答