重启ios应用后检查照片是不是仍然存在于相机胶卷中
Posted
技术标签:
【中文标题】重启ios应用后检查照片是不是仍然存在于相机胶卷中【英文标题】:Check if photo still exists in camera roll after restart ios app重启ios应用后检查照片是否仍然存在于相机胶卷中 【发布时间】:2017-04-13 10:29:40 【问题描述】:我还是 ios 开发的新手,我正在创建一个允许选择一些照片并快速访问它们的应用程序。 在 CoreData 中,我存储照片的 referenceUrl 而不是照片本身。以这种方式启动应用程序时,我可以加载照片。
但是,在加载照片之前,我需要检查它们是否仍然存在,并且无法弄清楚如何使用 referenceUrl 检查照片是否存在。
即使使用 localPath 也不起作用。它一直返回 false。
如果您知道如何继续,我将不胜感激。 谢谢。
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any])
let imageUrl = info[UIImagePickerControllerReferenceURL] as! NSURL
let imageName = imageUrl.lastPathComponent
let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!
let photoURL = NSURL(fileURLWithPath: documentDirectory)
let localPath = photoURL.appendingPathComponent(imageName!)!
let localPathString = String(describing: localPath)
let fileManager = FileManager.default
if fileManager.fileExists(atPath: localPathString)
print ("Photo exists")
else
print ("Photo does not exist")
【问题讨论】:
【参考方案1】:我找到了解决办法,就在这里。
我在上面的代码中使用imageUrl
:
let assets = PHAsset.fetchAssets(withALAssetURLs: [imageUrl as URL], options: nil)
if assets.firstObject != nil
//Then the image is still there
else
//The image is not present anymore
希望对您有所帮助。
【讨论】:
以上是关于重启ios应用后检查照片是不是仍然存在于相机胶卷中的主要内容,如果未能解决你的问题,请参考以下文章