我制作了一个应用程序,当连接到互联网时,它会从 ftp 服务器下载视频、pdf 和图像。它当前将数据存储在文档目录中(例如,它可能约为 50mb)。效果很好。
现在我有一种感觉,这违反了苹果的指导方针,该应用程序将被应用程序商店拒绝,我的感觉对吗?
现在,如果我读到的内容是正确的,如果此数据存储在缓存文件夹中,我的应用程序将被允许出现在应用程序商店中,对吧?现在我的问题是,我可以将存储目录更改为缓存吗?尺寸方面有限制吗?在没有连接的情况下关闭并重新启动应用程序时,文件仍然可用吗?设备或其他应用程序可以从缓存中删除数据吗?
如有任何帮助,我们将不胜感激。
谢谢
最佳答案
我们的应用去年因同样的原因被拒绝。但是,将内容而不是文档下载到缓存文件夹就足以使其被接受。不过,有一些事情需要记住。
首先,这是必读的:https://developer.apple.com/icloud/documentation/data-storage/
据我所知,缓存文件夹没有大小限制,因此您可以继续存储与之前在文档中所做的相同的内容,没有人会关心。另一方面,每当系统发现剩余空间太少时,缓存文件夹就会被清空。
来自文件系统编程指南:
[The Caches folder] Contains cached data that can be regenerated as needed. Apps should never rely on the existence of cache files.
我在某处读到(不幸的是丢失了源),存储在缓存中的数据保证在 session 期间持久存在,即从用户启动/切换到您的应用程序直到它被发送到后台/终止。这意味着当您的应用程序处于事件状态时,很容易会发现一个完全空的缓存文件夹。您应该准备好处理这个问题。
关于objective-c - 您可以缓存数据以便稍后离线查看吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10518462/