1

を作成しています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

これについて助けてくれてありがとう。

4

0 に答える 0