Apple tvOS中的视频下载

时间:2017-03-28 07:02:34

标签: ios objective-c swift tvos10

我是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")
        }
    }
}  

1 个答案:

答案 0 :(得分:1)

tvOS对本地存储有一些限制

  

您的应用只能访问设备本地的500 KB持久存储空间(使用NSUserDefaults类)。在这个有限的本地存储之外,当空间不足时,操作系统必须清除所有其他数据......

您可以查看此文档以获取更多详细信息: https://developer.apple.com/library/content/documentation/General/Conceptual/AppleTV_PG/