tvOS - 在应用 运行 时管理下载的视频和图像的最佳方式

tvOS - Best way to manage downloaded videos and images while app is running

我了解到 tvOS 没有永久性本地存储。任何存储的数据或下载的数据都将随时被删除。

那么在应用 运行 期间跟踪下载的图像和视频的最佳方式是什么?我打算制作一个基本上是图像和视频幻灯片的应用程序。 Images/Vidoes 将在幻灯片放映期间在后台下载。

images/videos 的数量可能会变大,所以当我尝试显示视频时,视频可能已被删除。

There is no persistent local storage for apps on Apple TV. This means that every app developed for the new Apple TV must be able to store data in iCloud and retrieve it in a way that provides a great customer experience.

使用 NSUserDefaults 只能存储 1mb。

我认为最好的选择是使用 iCloud。

来源:https://developer.apple.com/library/prerelease/tvos/documentation/General/Conceptual/AppleTV_PG/

我的应用程序有相同的要求,我设法通过在 .CachesDirectory 中创建自己的持久性缓存来解决它。我把下载的视频和图片,以及核心数据的数据库文件直接存放在这里。您只需要确保您的应用程序可以处理 iOS 偶尔出现的 "purge",并优雅地处理它。

我即将在github中开源它,但测试版可在以下目录中获得。

https://bitbucket.org/satoshinakajima/swipebeta

打开你的Xcode中的示例工程,看看"network"组中的文件,比如SwipeAssetManager.swift和SwipeConnection.swift,它们是持久化的缓存实现。您几乎可以按原样重复使用它们。