IOS 13 How to Check User All Always Allow Location(如何检查用户是否始终允许定位)

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

本文介绍了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(如何检查用户是否始终允许定位)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:IOS 13 How to Check User All Always Allow Location(如何检查用户是否始终允许定位)

基础教程推荐