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

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Why local notification is not firing for UNCalendarNotificationTrigger(为什么没有为UNCalendarNotificationTrigger触发本地通知)
iOS VoiceOver functionality changes with Bundle Identifier(IOS画外音功能随捆绑包标识符而变化)
tabbar middle tab out of tabbar corner(选项卡栏中间的选项卡角外)
Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
Dropbox Files.download does not start when number of files in folder is gt; 1000(当文件夹中的文件数为1000时,Dropbox Files.Download不会启动)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)