1

今天,在研究如何/在哪里从我正在处理的项目中的 URL 下载和保存音频/图像文件时,我偶然发现如果我们将大型音频/图像文件保存在 iOS 的文档目录中,可能会导致应用程序被拒绝。

此处的问题与此处发布的“iOS 数据存储指南”有关https://developer.apple.com/icloud/documentation/data-storage/ -“仅文档和其他数据是用户生成的,或者不能以其他方式生成的数据由您的应用程序重新创建的文件应存储在“/Documents”目录中,并将由 iCloud 自动备份。”

在进一步阅读中,我发现许多人的应用程序被拒绝是因为在文档目录中存储了太多数据(因为用户在他的 iCloud 帐户中的 5GB 容量有限)并且用户设备上所有应用程序的文档目录是自动备份到 iCloud。

为开发人员提供的一个选项是将数据存储在“/Library/Caches”目录中。但是,只要操作系统内存不足,就可以删除缓存目录中的数据,并且不能保证数据将始终存在,这不是我们项目可接受的解决方案,因为我们不能指望我们的应用程序的用户群下载更多大文件不止一次。

我根据此链接http://developer.apple.com/library/ios/#qa/qa1719/_index.html#//apple_ref/doc/uid/DTS40011342找到的解决方案是专门标记您存储的文件不备份的文档目录和过程在其中描述。但是,它仅适用于 iOS 5.0.1 及以后的版本。在 iOS 5.0 及更低版本上无法从备份中排除数据。

所以,我的问题是:'由于我正在处理的项目有足够多的图像/音频要存储并且重新下载它们不是一种选择,建议只支持在 iOS 5.0 上安装。 1 及以上因为上述问题或保持与 iOS 4.3 的向后兼容性并调查其他方式来存储数据而不会拒绝应用程序?如果我们采用前一种方法,我们大约会失去多少百分比的用户?有相同的统计数据吗?

请让我知道您对此的看法

4

2 回答 2

1

几件事:

  • iOS 5 超过 80%,可能超过 90%。(我观看的网站最近 iOS 4 % 的用户激增,但我相信这是由于没有计算 iOS 6 设备造成的。)
  • 您应该多解释一下数据的性质。如果您的数据难以下载,则无论如何都可能有资格进行备份。(这发生在我的应用程序上。)
  • 仍然运行 iOS 4 的用户不太可能下载您的应用程序,除非您已经安装了 iOS 4。
  • iOS 4 支持会给你带来越来越多的痛苦和折磨。

参考:

于 2012-09-14T14:46:37.413 回答
1

在 iOS 5 之前,/Library/Caches 目录不会被 iOS 清除。iOS 5.0.1 添加了 Do Not Backup 功能,因为 5.0 中的新缓存清除功能破坏了许多应用程序,例如 instapaper - 请参阅 Marco Arment 关于此问题的博客文章:http: //www.marco.org/2011/ 10/13/ios5-缓存清理

也许您可以为 ios 5.0.1 以下的用户使用 /Library/Caches,并在升级后转而使用 Do Not Backup 标记。

于 2012-09-21T20:32:00.783 回答