gpt4 book ai didi

ios - iOS 13 会在什么条件下要求用户授予 'Always' 位置访问权限?

转载 作者:行者123 更新时间:2023-12-01 23:31:52 24 4
gpt4 key购买 nike

我的应用程序的核心功能是在后台模式下更新位置数据。在 iOS 13 中,当我们调用 locationManager.requestAlwaysAuthorization() 时,系统会要求用户在 'Never''Permit Once''Permit Once' 三种变体中进行选择“使用时”

screenshot 1

如果用户授予“使用时”访问权限,我们的应用将只能在前台运行。

我无法理解的事情如下:有时,当应用程序进入后台并在一段时间后变得活跃并再次进入后台时,iOS 13 会要求用户将位置访问权限更改为“始终”

see screenshot 2

我的应用程序应该做什么才能让 iOS 13 向用户显示此对话框? (我想在我的应用程序第一次进入后台时执行此操作)

附注我知道,我可以使用一些自定义警报,其中包含诸如“请转到系统设置并将此应用程序的位置访问权限调整为‘始终’模式”之类的文本。但我需要知道,有没有办法使用上面描述的“ native 系统流程”?

谢谢!

最佳答案

@Claudio 的回答帮助我解决了我的问题。我发现它能够在具有“使用时”权限的后台访问位置。为此,您必须设置 locationManager.showsBackgroundLocationIndicator = true

这是我的位置管理器调整:

        let locationManager = CLLocationManager()
if #available(iOS 9, *){
locationManager.allowsBackgroundLocationUpdates = true
}
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
locationManager.distanceFilter = kCLDistanceFilterNone
locationManager.headingFilter = kCLHeadingFilterNone
locationManager.pausesLocationUpdatesAutomatically = true
locationManager.activityType = .otherNavigation
if #available(iOS 11.0, *) {
locationManager.showsBackgroundLocationIndicator = true;
}
locationManager.delegate = self
locationManager.startMonitoringSignificantLocationChanges()

关于ios - iOS 13 会在什么条件下要求用户授予 'Always' 位置访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58184876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com