需求1:从相册选择图片要获取图片的路径
代码:
如果我们得到PHAsset的对象(itemModel.asset),我们可以通过PHAsset获取到图片的路径,名称,大小。
PHImageManager.default().requestImageData(for: itemModel.asset, options: nil) { (imageData, _, orientation, info) in
// image所在路径
let imageUrl: String = "\(info!["PHImageFileURLKey"] as! NSURL)"
}
需求2:拍照并保存到系统相册,在保存成功时获取图片的路径
代码:
// 存放照片资源的标志符
var localId: String?
// 将拍照的照片(self.photoImg: UIImage)写入系统相册
PHPhotoLibrary.shared().performChanges({
let result = PHAssetChangeRequest.creationRequestForAsset(from: self!.photoImg!)
let assetPlaceholder = result.placeholderForCreatedAsset
// 保存标志符
self?.localId = assetPlaceholder?.localIdentifier
}, completionHandler: { (success, error) in
// 写入相册完成
DispatchQueue.main.asyn