【发布时间】:2015-10-20 01:40:12
【问题描述】:
我了解到 tvOS 没有持久的本地存储。任何存储的数据或任何下载的数据都将随时被删除。
那么,在应用运行时跟踪下载的图像和视频的最佳方法是什么?我打算制作一个基本上是图像和视频幻灯片的应用程序。图片/视频将在幻灯片放映期间在后台下载。
图像/视频的数量可能会变大,所以当我尝试显示视频时,视频可能已被删除。
【问题讨论】:
我了解到 tvOS 没有持久的本地存储。任何存储的数据或任何下载的数据都将随时被删除。
那么,在应用运行时跟踪下载的图像和视频的最佳方法是什么?我打算制作一个基本上是图像和视频幻灯片的应用程序。图片/视频将在幻灯片放映期间在后台下载。
图像/视频的数量可能会变大,所以当我尝试显示视频时,视频可能已被删除。
【问题讨论】:
Apple TV 上的应用没有永久性本地存储。这意味着为新 Apple TV 开发的每个应用程序都必须能够将数据存储在 iCloud 中并以提供出色客户体验的方式检索数据。
使用 NSUserDefaults 只能存储 1mb。
我认为你最好的选择是使用 iCloud。
来源:https://developer.apple.com/library/prerelease/tvos/documentation/General/Conceptual/AppleTV_PG/
【讨论】:
我的应用程序有相同的要求,我设法通过在 .CachesDirectory 中创建自己的持久性缓存来解决它。我将下载的视频和图像,以及核心数据数据库文件直接存储在其中。你只需要确保你的应用程序可以处理偶尔被iOS“清除”,并优雅地处理它。
我准备在 github 上开源它,但是 beta 版本在以下目录中可用。
https://bitbucket.org/satoshinakajima/swipebeta
在您的 Xcode 中打开示例项目,并查看“网络”组中的文件,例如 SwipeAssetManager.swift 和 SwipeConnection.swift,它们是持久缓存实现。您可能几乎可以按原样重复使用它们。
【讨论】: