AVAssetDownloadStorageManager.setStorageManagementPolicy() not working

Hi,



I've been trying to introduce usage of AVAssetDownloadStorageManager.setStorageManagementPolicy().

For some reason the value I set has no effect.


I set the new policy in the didFinishDownloadingTo delegate method like below, but when I immediately read it back the value hasn't changed.

Reading it again on re-launch of the app, the value has also not been changed.

Any advice on what I'm doing wrong is appreciated.


    func urlSession(_ session: URLSession, assetDownloadTask: AVAssetDownloadTask, didFinishDownloadingTo location: URL) {
        guard let delegate = self.delegates.object(forKey: FileCodeKey(assetDownloadTask.fileCode)) else { return }


        if #available(iOS 11, *) {
            // Set the storage policy for the downloaded content
            let storageManager = AVAssetDownloadStorageManager.shared()
            let newPolicy = AVMutableAssetDownloadStorageManagementPolicy()
            newPolicy.priority = .important
            newPolicy.expirationDate = Date(timeIntervalSinceNow: 60 * 60 * 24 * 365)


            storageManager.setStorageManagementPolicy(newPolicy, for: location)


            if let policy = storageManager.storageManagementPolicy(for: location) {
                print("After policy.priority: \(policy.priority)")
                print("policy.expirationDate: \(policy.expirationDate)")
            }
        }


Regards,

Anders