Я слежу за Apple Руководство по программированию воспроизведения мультимедиа пример.
Следующий код работает на iOS 11, но вылетает на iOS 10.
Я установил загрузку следующим образом:
func setupAssetDownload(for item: DownloadItem) {
let url = URL(string: item.urlVideo!)!
let asset = AVURLAsset(url: url)
// Create new AVAssetDownloadTask for the desired asset
guard let task = downloadSession.makeAssetDownloadTask(asset: asset,
assetTitle: item.title!,
assetArtworkData: nil,
options: [AVAssetDownloadTaskMinimumRequiredMediaBitrateKey: 265_000])
else { return }
// Start task and begin download
task.resume()
}
И терпит неудачу здесь:
func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
/*
This is the ideal place to begin downloading additional media selections
once the asset itself has finished downloading.
*/
if let error = error as NSError? {
switch (error.domain, error.code) {
case (NSURLErrorDomain, NSURLErrorCancelled):
/*
This task was canceled, you should perform cleanup using the
URL saved from AVAssetDownloadDelegate.urlSession(_:assetDownloadTask:didFinishDownloadingTo:).
*/
...
case (NSURLErrorDomain, NSURLErrorUnknown):
fatalError("Downloading HLS streams is not supported in the simulator.")
default:
fatalError("An unexpected error occured \n\(error.code) - \(error.domain) - \(error.localizedDescription)")
}
} else {
// downloaded
}
}
Я получаю следующую ошибку:
Error Domain=AVFoundationErrorDomain
Code=-11800 \"The operation could not be completed\"
UserInfo={
NSLocalizedDescription=The operation could not be completed,
NSLocalizedFailureReason=An unknown error occurred (-12780)
}
Может ли кто-нибудь указать мне, как решить эту проблему?
Примечание: я читал кое-что об использовании fileURLWithPath
вместо string
для составления URL
, но не работал вообще.
Не связано с NSAppTransportSecurity.