从 iCloud 下载 Swift AVAsset 在 iOS 14 上没有权限 : error Code=257

标签 swift cloud ios14 avasset

在 iOS 14 之前我的所有工作都运行良好...

我在我的应用程序上显示库中的视频。我成功地显示了 iCloud 或本地存储中的所有内容。 但从 iOS 14 开始,无法从 iCloud 读取它们,而且我没有找到任何解决方案...

代码:

    let options = PHVideoRequestOptions()
    options.isNetworkAccessAllowed = true
    options.version = .original
    options.progressHandler = { (progress, error, stop, info) in
        log.infoMessage("progress: \(progress)")
    }
    
    PHImageManager.default().requestAVAsset(forVideo: asset, options: options, resultHandler: {(avAsset: AVAsset?, audioMix: AVAudioMix?, info: [AnyHashable : Any]?) -> Void in
        if let asset = avAsset as? AVURLAsset {
            Queue.main {
                Player.shared.replaceAssetBy(AVPlayerItem(url: asset.url))
                self.playerLayer.player = Player.shared.player
                NotificationCenter.default.addObserver(self, selector: #selector(self.loopAction), name: .AVPlayerItemDidPlayToEndTime, object: Player.shared.player.currentItem)
            }
        }
    })

错误: FAILED 可选(“不可能的 d'ouvrir le fichier 汽车您不需要处置 pas de l'autorisation nécessaire pour l'afficher。”) -- 错误:可选(Error Domain=NSCocoaErrorDomain Code=257“不可能的 d'ouvrir le fichier”您无需处置汽车。"UserInfo={NSUnderlyingError=0x2814398c0 {Error Domain=NSOSStatusErrorDomain Code=-12203 "(null)"}})

抱歉,错误是法语...

就在你们有些人问之前,我已经对 iOS 14 上新的 requestPermission 上的 .ReadWrite 进行了权限修改。

问候,

最佳答案

我找到了两种方法:

  • 尝试options.deliveryMode = .highQualityFormat

  • 使用requestExportSession代替requestAVAsset 。 然后使用session.asset

关于从 iCloud 下载 Swift AVAsset 在 iOS 14 上没有权限 : error Code=257,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65002758/

相关文章:

swift 问题 : About Type Casting for AnyObject

database - 从 DynamoDB 中删除大量项目的推荐方法是什么?

swift - 代理包装 iOS 14 Logger 类

ios - 清除 SwiftUI 中表单部分的背景?

swift - 如何在 SwiftUI WidgetKit 占位符中自定义占位符外观?

ios - 为什么 Crashlytics 中缺少 CLSLog 消息?

swift - 重写绑定(bind)方法 (Swift) - 错误 : Value of type 'Any' has no member 'addObserver'

arrays - 无法在 Array Extension Swift 上从自身调用函数

cloud - PXAction 似乎什么也没做

azure - Azure上的云架构,用于物联网