检查保存到相机胶卷是否成功
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查保存到相机胶卷是否成功相关的知识,希望对你有一定的参考价值。
如何在activityViewController
期间检查用户是否能够保存到相机胶卷?
例如,我有一个活动视图控制器,提供保存到相机胶卷的选项。用户保存图片后,我的应用程序会显示一个提示,让用户知道图片已保存。但是,当用户点击“保存到相机胶卷”图标时,操作系统会提示他提供权限,以便我的应用可以将照片存储在相机胶卷上。如果用户拒绝许可,activityViewController.completionWithItemsHandler
仍然会返回成功,即使用户没有将图片保存到相机中也是如此。
如何检查用户是否确实能够将图片保存到相机胶卷?
activityViewController.completionWithItemsHandler = { activity, success, items, error in
if success {
if let activity = activity {
switch activity {
case .postToFacebook:
self.view.showToast(with: "Successfully posted to Facebook.")
case .postToTwitter:
self.view.showToast(with: "Successfully posted to Twitter.")
case .message:
self.view.showToast(with: "Your message has been sent.")
case .mail:
self.view.showToast(with: "Your email has been sent.")
case .saveToCameraRoll:
if phphotoLibrary.authorizationStatus() == .denied {
self.view.show(alertForDeniedPermission(to: .photoLibraryAccess), animated: true)
} else {
self.view.showToast(with: "Your picture has been saved.")
}
default:
self.view.showToast(with: "Success!")
}
}
}
检查PHPhotoLibrary.authorizationStatus()
不起作用,因为枚举总是. notDetermined
。我认为因为我的应用程序只要求Privacy - Photo Library Additions Usage Description
而不是Privacy - Photo Library Usage Description
。
由于您尝试将照片保存到照片库,因此您还需要在Info.plist文件中设置“隐私 - 照片库添加使用说明”和隐私 - 媒体库使用说明。
您的应用显示未确定授权状态,因为用户无法授予或拒绝您的访问权限,因为您还没有要求它!
只是为了给你一些背景,下面是不同的案例,说明授权状态可以返回:(取自Apple developer网站。)
案例未确定:照片库访问需要明确的用户权限,但用户尚未授予或拒绝此类权限。
案例限制:您的应用无权访问照片库,用户无法授予此类权限。
案例被拒绝:用户已明确拒绝您的应用访问照片库。
案例授权:用户已明确授予您对照片库的应用访问权限。
以上是关于检查保存到相机胶卷是否成功的主要内容,如果未能解决你的问题,请参考以下文章
UISaveVideoAtPathToSavedPhotosAlbum 没有将视频保存到相机胶卷
如何避免将从相机胶卷中挑选的图像保存到相机胶卷? [iOS]