我正在尝试将远程照片(存储在Firebase存储中)保存到相机胶卷,但以下代码未按预期在Swift中运行:
PHPhotoLibrary.shared().performChanges({
if let photoUrl = URL(string: "<see below for the url of the image>") {
PHAssetChangeRequest.creationRequestForAssetFromImage(atFileURL: photoUrl)
}
}, completionHandler: { (success, error) -> Void in
if let err = error {
print(err)
}
})
图片网址:
print语句打印:
Error Domain=NSCocoaErrorDomain Code=-1 "(null)"
为什么会发生这种情况,如何解决?
编辑 - 这是正确答案
首先下载图像,然后将其保存到相机胶卷
URLSession.shared.dataTask(
with: photoUrl,
completionHandler: { (data, response, error) -> Void in
if let imageData = data {
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAsset(from: UIImage(data: imageData)!)
}, completionHandler: { (success, error) -> Void in
if let err = error {
print(err)
}
})
}
}
).resume()
答案 0 :(得分:1)
您应该将图像下载到设备,然后将其保存到相机胶卷