iOS 13 How to check user is given only Always allow location permission(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(如何检查用户是否始终允许定位)


基础教程推荐
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01