今天在研究如何/在哪里下载和保存我正在处理的项目中的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找到的解决方案是专门标记您存储在Documents目录中的文件,以便不进行备份,并在其中描述该过程。 但是,它仅适用于iOS 5.0.1以上版本。无法从iOS 5.0及更低版本的备份中排除数据。
所以,我在这里的问题是: '由于我正在处理的项目有足够多的图像/音频存储并且重新下载它们不是一个选项,因此建议仅支持iOS 5.0.1及更高版本的安装,因为上面提到的发布或保持与iOS 4.3的向后兼容性并研究在不拒绝应用程序的情况下存储数据的其他方法?如果我们采用前一种方法,我们将失去大约百分比的用户?有没有相同的统计数据?'
请让我知道您对此的看法
答案 0 :(得分:1)
有几件事:
参考文献:
答案 1 :(得分:1)
在iOS 5之前,iOS未清除/ Library / Caches目录。 “不要备份”功能已添加到iOS 5.0.1中,因为5.0中的新缓存清除打破了很多应用程序,例如instapaper - 请参阅Marco Arment关于此问题的博文:http://www.marco.org/2011/10/13/ios5-caches-cleaning
也许您可以为ios 5.0.1以下的用户使用/ Library / Caches,并在升级后转到使用Do Not Backup标记。