Ios 在拒绝从UIActivityController保存图像的权限后,如何将用户重定向到设置?

Ios 在拒绝从UIActivityController保存图像的权限后,如何将用户重定向到设置?,ios,swift,uiactivityviewcontroller,phphotolibrary,Ios,Swift,Uiactivityviewcontroller,Phphotolibrary,在用户在我的应用程序中拍照后,会显示一个UIUserActivity,允许用户保存和拍照。此时会出现一个弹出窗口,要求获得将照片写入用户相册的权限。但是,如果用户拒绝,则无法提示用户重定向到照片库。PHPhoto授权状态始终返回“未确定”,即使已请求权限。我希望能满足以下几点: 用户应该能够拒绝,但如果他们想保存照片,系统会继续提示用户授予应用程序权限 如果用户拒绝,我希望“保存照片”选项作为一个潜在选项保留在UIUserActivity中 我怎样才能做到这一点 我尝试使用PHPhotoLibr

在用户在我的应用程序中拍照后,会显示一个UIUserActivity,允许用户保存和拍照。此时会出现一个弹出窗口,要求获得将照片写入用户相册的权限。但是,如果用户拒绝,则无法提示用户重定向到照片库。PHPhoto授权状态始终返回“未确定”,即使已请求权限。我希望能满足以下几点:

  • 用户应该能够拒绝,但如果他们想保存照片,系统会继续提示用户授予应用程序权限

  • 如果用户拒绝,我希望“保存照片”选项作为一个潜在选项保留在UIUserActivity中

  • 我怎样才能做到这一点

    我尝试使用PHPhotoLibrary授权状态,但它总是返回Undefined。我已尝试检查.Undefined并使用PHPhotoLibrary请求访问用户的相机卷,但是如果用户此时拒绝,则保存照片的选项将从UIUserActivity弹出窗口中完全删除

    代码:

    activityViewController.completionWithItemsHandler = { activity, success, items, error in
        if success {
            if let activity = activity {
            ...
            case .saveToCameraRoll:
               handleCameraRollPermission()
    
    func-handleCameraRollPermission(状态:PHAuthorizationStatus?=nil,完成:@escaping((Bool)->Void)){
    let authorizationStatus=状态??PHPhotoLibrary.authorizationStatus()
    交换机授权状态{
    案例。拒绝,。限制:
    showPermissionMissingAlert(完成:完成)
    案例。未确定:
    PHPhotoLibrary.requestAuthorization{(状态)在中
    开关(状态){
    案例.拒绝、.限制、.未确定:
    self.showPermissionMissingAllert(完成:完成)
    违约:
    打破
    }
    }
    违约:
    完成(真)
    }
    }
    
    这可能有点过分,但您可以为activityView创建自定义操作部分。您可以找到有关该操作的更多信息,并向下滚动到添加自定义操作部分


    基本上,您可以创建一个自定义的保存按钮,无论权限状态如何,该按钮都将保持不变。点击后,您可以检查他们的授权状态并从那里开始

    这可能有点过分,但您可以为activityView创建一个自定义操作部分。您可以找到有关该操作的更多信息,并向下滚动到添加自定义操作部分

    基本上,您可以创建一个自定义的保存按钮,无论权限状态如何,该按钮都将保持不变。点击后,您可以检查他们的授权状态并从那里开始