我正在创建AVAssetDownloadURLSession
这是我的代码:
let config = URLSessionConfiguration.background(withIdentifier: "background")
let avSession = AVAssetDownloadURLSession(configuration: config, assetDownloadDelegate: self, delegateQueue: nil)
let any : Any = avSession
print("any as? AVAssetDownloadURLSession \(any as? AVAssetDownloadURLSession)") // always returns nil
现在,如果我打印出avSession
,则表示它是__NSURLBackgroundSession
,而不是AVAssetDownloadURLSession
。如果我将avSession
分配给另一个变量(在本例中为Any),然后再将其向下转发,则会失败。
这是一个真正的问题,因为我确实需要这样做。为什么我不能在不失败的情况下贬低这个?如果我检查avSession
的内存地址,然后在调试器中检查任何内存地址,它们都具有相同的地址。但最确定的是(根据调试器和运行时本身而言)不是AVAssetDownloadURLSession
。
感谢您提供任何帮助。