IOS 13 How to Check User All Always Allow Location(如何检查用户是否始终允许定位) [英] iOS 13 How to check user is given only Always allow location permission

查看:70
本文介绍了IOS 13 How to Check User All Always Allow Location(如何检查用户是否始终允许定位)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序中,我想检查用户是否被授予了位置权限"Always Allow"。因为我正在进行类似于WhatsApp位置实时共享的位置共享。

实际上测试用例是,当我们在应用程序设置中将位置权限状态更改为"使用应用程序时",并检查应用程序内部按钮单击的状态时,我将获得"始终授权"值。

  func isAlwaysPermissionGranted() -> Bool{
    let aStatus = CLLocationManager.authorizationStatus()
    if aStatus == .authorizedAlways {
        return true
    }
     return false
  }

如果我们有"使用应用程序时"权限,我无法区分"使用应用程序时"和"始终"。两者具有相同的枚举值,即"AuthizedAlways"。

但在WhatsApp中,如果我将位置权限更改为"使用应用程序时"并尝试共享我的实时位置,WhatsApp会在应用程序设置中显示一个更改位置权限的警报。

我也想这么做。

请帮助我在代码级别上有所不同。

推荐答案

实际上,我从代码中删除了CLLocationManager.requestAlwaysAuthorization()

如果您请求始终授权,CLLocationManager.AuthizationStatus将始终成为授权状态。

我做了这样的设置:如果应用程序想要始终访问,用户必须转到设置并手动授予始终权限

这篇关于IOS 13 How to Check User All Always Allow Location(如何检查用户是否始终允许定位)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆