我是swift和tvOS的新手。我想从网址下载视频并将其显示在ViewController中。当我尝试使用ios设备时,视频已下载并正常工作。但使用tvOS时,视频无法下载。
为什么会这样..?
如何在Apple TV中下载和播放视频。
这是我的代码
让backgroundSessionConfiguration = URLSessionConfiguration.background(withIdentifier:“backgroundSession”)
backgroundSession = Foundation.URLSession(configuration: backgroundSessionConfiguration, delegate: self, delegateQueue: OperationQueue.main)
let url = URL(string: "myURl")!
downloadTask = backgroundSession.downloadTask(with: url)
downloadTask.resume()
func urlSession(_ session:URLSession, downloadTask:URLSessionDownloadTask, didFinishDownloadingTo location:URL){
let path = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let documentDirectoryPath:String = path[0]
let fileManager = FileManager()
let destinationURLForFile = URL(fileURLWithPath: documentDirectoryPath.appendingFormat("/file.mp4"))
if fileManager.fileExists(atPath: destinationURLForFile.path){
showFileWithPath(path: destinationURLForFile.path)
}
else{
do {
try fileManager.moveItem(at: location, to: destinationURLForFile)
// show file
showFileWithPath(path: destinationURLForFile.path)
}catch{
print("An error occurred while moving file to destination url")
}
}
}
答案 0 :(得分:1)
tvOS对本地存储有一些限制
您的应用只能访问设备本地的500 KB持久存储空间(使用NSUserDefaults类)。在这个有限的本地存储之外,当空间不足时,操作系统必须清除所有其他数据......
您可以查看此文档以获取更多详细信息: https://developer.apple.com/library/content/documentation/General/Conceptual/AppleTV_PG/