给予不允许后当前位置权限警报视图未显示

Posted

技术标签:

【中文标题】给予不允许后当前位置权限警报视图未显示【英文标题】:Current Location Permission Alertview not Shown after giving Dont Allow 【发布时间】:2011-07-08 12:19:01 【问题描述】:

我在我的应用程序中使用了 CLLocation Manager。 首次安装应用程序时,它会显示一个带有“不允许”和“确定”选项的alerView“您想使用您当前的位置”。

但如果我选择不允许。并且下次我进入我的应用程序时不会再次提示我 Alertview。

我有 ios 4.3 的 iPad

但在设置中重置定位服务后,它会提示 Alertview。

【问题讨论】:

这实际上是 Apple 设计的所需行为。你期待什么? 即使我在 Alertview 中选择了不允许选项,我也希望显示 Alertview。在我接受 OK 之前,应该显示 Alertview。我该怎么办? 【参考方案1】:

这是预期的行为。设备会记住权限,并由用户在设置中进行管理。

同样,您的应用程序可以确定该位置已被拒绝,并采取适当的措施来提示用户。

在iOS4.2及以上可以使用;

+ (CLAuthorizationStatus)authorizationStatus

还有(从iOS4.0开始)

+ (BOOL)locationServicesEnabled

虽然不一样,但也可以用来向用户提供信息。

在早期版本中是CLLocationManager delegate will be notified of the user denial,因此您可以采取适当的措施。请参阅有关 kCLErrorDenied 的部分。

一如既往,copious Apple Documentation 在这里。

【讨论】:

以上是关于给予不允许后当前位置权限警报视图未显示的主要内容,如果未能解决你的问题,请参考以下文章

从第二个警报视图按“确定”时,进度 hud 未显示

如何在 appium 中接受此警报?

当前位置警报访问

仅显示一个位置权限警报

CLLocationManager 警报自行解除

iOS 在长时间运行任务后显示警报视图