【发布时间】:2021-08-08 08:57:36
【问题描述】:
我有一个此 URL file:///var/mobile/Media/DCIM/101APPLE/IMG_1426.JPG。如何使用它从库中获取图像?
我从上次运行该应用程序时获得了该 URL。现在我想只获取这个图像而不从库中获取所有图像。
我尝试使用:
if let url = URL(string: url) {
let imgData = NSData(contentsOf: url)
let image = UIImage(data: imgData! as Data)
}
但是我收到了这个错误:
Error Domain=NSCocoaErrorDomain Code=257 "The file “IMG_1426.JPG” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/var/mobile/Media/DCIM/101APPLE/IMG_1426.JPG, NSUnderlyingError=0x28200bfc0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
我从这里得到网址:
let options: PHContentEditingInputRequestOptions = PHContentEditingInputRequestOptions()
options.canHandleAdjustmentData = {(adjustmeta: PHAdjustmentData) -> Bool in
return true
}
self.requestContentEditingInput(with: options, completionHandler: {(contentEditingInput: PHContentEditingInput?, info: [AnyHashable : Any]) -> Void in
if let url = contentEditingInput?.fullSizeImageURL {
//this
}
})
我不想将那张照片保存在我的应用文档中,我该如何实现?或者至少我如何打开显示该图像的照片应用程序? 谢谢。
【问题讨论】:
-
您不应该随意访问任何文件。征得用户同意。
-
我已授予我的应用访问照片库和相机的权限
-
图片库中没有图片;有资产。而且他们没有文件 URL;他们有本地标识符。要获取单张照片,请使用其标识符。