I have an app that downloads FairPlay encrypted content and this feature works just fine on iOS 11, 12, 13. On iOS14, the download completes but the asset can't be played in airplane mode. When debugging, I found that task.urlAsset.assetCache.isPlayableOffline is false for the downloaded asset so I guess some part of the content does not get downloaded as expected. All FairPlay keys are downloaded properly so that shouldn't be the issue. I use AVAssetDownloadURLSession.aggregateAssetDownloadTask(_:) to download content and the mediaSelections parameter contains options from both audible and legible characteristics and everything needed for playback seems to be downloaded when debugging using the delegate functions. On iOS13, indeed everything needed for playback gets downloaded but not on iOS14.
I'd be happy to provide more information to help resolve this issue as I need to have this working in well time before iOS14 is released to the public. All help would be highly appreciated.
I'd be happy to provide more information to help resolve this issue as I need to have this working in well time before iOS14 is released to the public. All help would be highly appreciated.
In the couple of last betas as well in the release of iOS14, the AssetCache.isPlayableOffline once again returned true. But the asset wasn't playable offline anyway. Until I set AVPlayer.appliesMediaSelectionCriteriaAutomatically = false for all offline assets. Without that last setting, the AVPlayer would fail to play the offline asset. I guess that the player didn't understand that it was dealing with an offline asset and just died hard when it couldn't download the subtitles that would have been automatically selected for that particular device settings. This was not how AVPlayer worked in iOS13.