我想创建一个包含多个目录的包,其中包含媒体数据(音频和视频),然后我将其作为AVURLAssets加载。
由于AVURLAssets是使用URL创建的,因此我无法使用(据我所知)NSFileWrapper。
该文档指出NSFileWrapper将文件的完整内容存储在内存中,这对于可能高达1 GB的视频数据似乎不太好。
我目前正在使用writeToURL和readFromURL来读取/写入包,但这不能正常工作,因为URL是一个临时目录,如果此目录为空,整个过程将失败(如果没有任何更改,则会发生这种情况) )。
此外,当我下载音频/视频文件时,一旦完全加载(不仅在自动保存/保存时),将它存储在包中会更好。我知道我可以使用Cache或Application Support文件夹,但我不完全确定卸载应用程序时Application Support文件夹会发生什么情况(最坏的情况是用户的硬盘上有多GB不必要的数据)。该文档指出应用程序不应该依赖缓存目录中的文件,但我需要磁盘上某处的媒体文件以便快速/离线访问。
处理这种情况的正确方法是什么?