URLSessionDownload タスクはビデオのダウンロードにはうまく機能しますが、HQ ビデオ (大容量データ) の一部の認証済み Vimeo URL では、再開データなしで次のエラーが発生します。
では、どうすればダウンロードを再開できますか???
ビデオ タスクのダウンロード中にエラーが発生します (別のエラー ログは次のとおりです)。
ローカライズされたエラー: オプション (\"操作を完了できませんでした。プロトコル エラー\")
エラー デバッグの説明: オプション (エラー ドメイン=NSPOSIXErrorDomain コード=100 \"プロトコル エラー\" UserInfo={_kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=100, NSErrorPeerAddressKey=<100201bb 97650a6d 00000000 00000000>})
エラー unsafelyUnwrapped : エラー ドメイン = NSPOSIXErrorDomain コード = 100 \"プロトコル エラー\" UserInfo = {_kCFStreamErrorDomainKey = 1、_kCFStreamErrorCodeKey = 100、NSErrorPeerAddressKey = <100201bb 97650a6d 00000000 00000000>}"
//コード
var downloadTask: URLSessionDownloadTask?
var SessionRequest : URLRequest?
let backgroundSessionConfiguration = URLSessionConfiguration.background(withIdentifier: "\(Bundle.main.bundleIdentifier!).background")
let url = URL(string: urlString)!
SessionRequest = URLRequest(url: url)
SessionRequest?.httpMethod = "GET"
downloadTask = backgroundSession.downloadTask(with: SessionRequest!)
downloadTask?.resume()
//Delegate called sometimes when resulting into error with no RESUME DATA
func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
if error != nil {
debugPrint("Task completed: \(String(describing: task)),localized error: \(String(describing: error?.localizedDescription)) error debug desc: \(String(describing: error.debugDescription)) error unsafelyUnwrapped :\(error.unsafelyUnwrapped)")
let err = error! as NSError
let data = (err.userInfo)[NSURLSessionDownloadTaskResumeData]
//Above data is always nil so cannot resume
}
}