【发布时间】:2019-12-22 21:26:26
【问题描述】:
我的应用中有这段代码
guard let codeImage = imgQRCode.image else {
return
}
PHPhotoLibrary.requestAuthorization({status in
DispatchQueue.main.async {
if status == .authorized {
let ac = UIActivityViewController(activityItems: [codeImage], applicationActivities: nil)
self.present(ac, animated: true, completion: nil)
} else {
self.showOkAlert(messageTitle: "Access not granted", messageText: "Code image not saved.", okText: "OK", {})
}
}
})
但是 imgQRCode UIImageView 中显示的内容(生成的二维码)没有通过 UIActivityViewController 保存到照片库,并且 XCode 控制台日志中显示错误“ContactQR[997:63907] [GatekeeperXPC] 与 assetsd 的连接被中断或 assetsd 死亡”。 如果我用代码替换保护部分
let codeImage = UIImage(named: "Ghost")
使用资产中的图片将其正确共享到照片库。正常的UIImage为什么不是二维码图片?
【问题讨论】:
-
imgQRCode.image是什么返回类型,是UIImage吗? (可能是 cgImage) -
是的,它是 UIImage 但不是可选的。正如我所写,它适用于从资产图片目录分配的 UIImage。
标签: swift uiimage uiactivityviewcontroller