PHAssetResourceManager.default().writeData 报错 Code=-1 解决

669 阅读1分钟

PHAssetResourceManager.default().writeData 报错 Code=-1

报错信息

Error Domain=PHPhotosErrorDomain Code=-1 "(null)"

原因:因为手机上面的视频是在iCloud上面,Options中没有设置isNetworkAccessAllowed=true导致

解决

// 1.构造Options并将 isNetworkAccessAllowed 设为true
let options = PHAssetResourceRequestOptions()
options.isNetworkAccessAllowed = true
options.progressHandler = { progress in
    print("[Asset] write file progress: \(progress)")
}
// 2. 写入文件
PHAssetResourceManager.default().writeData(for: resource, toFile: url, options: options) { error in
    print("[Asset] write data error = \(String(describing: error))")
}