检查保存到相机胶卷是否成功

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:从相机胶卷中获取最后一张图片

如何避免将从相机胶卷中挑选的图像保存到相机胶卷? [iOS]

将 FBO 保存到相机胶卷后清理后崩溃错误? Swift 2.0 选择器语法

如何使用应用程序按钮将ReplayKit视频保存到相机胶卷