【问题标题】:Swift how to show alert to request permission for photo library?Swift如何显示警报以请求照片库的权限?
【发布时间】:2018-05-01 18:46:33
【问题描述】:

我在一个弹出窗口上点击了“取消”,该弹出窗口询问我制作的应用程序中的照片库的权限。这来自我没有制作的东西,而是来自操作系统。

现在,如果用户尝试再次点击照片库按钮,我需要一个后备。授权状态被拒绝。我通过这种方式检查证明:

    let status = PHPhotoLibrary.authorizationStatus()

    switch status {
    case .authorized:
        print("authorized")

    case .denied:
        print("denied") // it is denied

    case .notDetermined:
        print("notDetermined")

    case .restricted:
        print("restricted")

    }

如何再次弹出请求照片库权限的弹出窗口?我到处找,找不到任何有用的东西。

我希望是这样的,但 PHPhotoLibrary 没有成员“requestAccess”:

PHPhotoLibrary.requestAccess(for: ???) { response in
    if response {
        //access granted
    } else {

    }
}

【问题讨论】:

    标签: swift request authorization phphotolibrary


    【解决方案1】:

    如果状态为. notDetermined,则应用程序会自动向用户显示警报,但如果状态为.restricteddenied,您将无法再次要求用户访问照片像原来的一样,但您可以制作自定义警报并要求用户授予您访问照片的权限,如果用户接受您的请求,请引导用户进入设置并要求他手动启用您的访问权限!

    【讨论】:

    • 请注意:被拒绝,不受限制。如何针对权限进行自定义警报并根据用户的响应实际设置权限?
    • 我更新了答案。答案是一样的。 Apple 不允许开发者多次请求访问。所以唯一的办法就是我上面说的
    • 我明白了,所以我需要为这个应用设置一个设置部分。哇,这比我想象的要复杂得多。谢谢你的信息。
    • 如果有帮助,如果你想将用户重定向到设置,你可以通过执行UIApplication.shared.open(URL(string: UIApplicationOpenSettingsURLString)!, options: [:], completionHandler: nil)
    • 它是哪个库? Use of unresolved identifier 'PHPhotoLibrary'
    猜你喜欢
    • 2019-04-17
    • 1970-01-01
    • 2012-10-06
    • 2019-04-17
    • 2016-02-29
    • 2014-11-18
    • 2020-02-17
    • 2021-03-05
    相关资源
    最近更新 更多