requestAlwaysAuthorization after requestWhenInUseAuthorization被接受

时间:2016-09-02 14:00:13

标签: ios mapkit core-location

我的应用可以有两级LocationHandler状态。首先,我启动requestWhenInUseAuthorization然后,如果用户激活某些特定功能,我会启动requestAlwaysAuthorization

如果用户拒绝requestAlwaysAuthorization以告知他该功能无法按预期工作,我需要收到通知。问题是,在这种情况下,didChangeAuthorizationStatus未被调用,因为授权状态保持不变(它是AuthorizedWhenInUse并且它仍然是AuthorizedWhenInUse)。

如果用户在接受AuthorizedWhenInUse后拒绝授权,您是否知道如何通知我?

1 个答案:

答案 0 :(得分:3)

自iOS 10以后,即使用户在使用中接受,也不再可能在调用requestWhenInUseAuthorization()之后调用requestAlwaysAuthorization()。

在之前的版本(至少是iOS8)中你可以“升级”#34;授权并在用户接受使用后请求始终授权。这已经不可能了。

最好的办法是检查CLLocationManager.authorizationStatus()  偶尔显示一个对话框,使用UIApplicationOpenSettingsURLString

将用户指向正确的设置页面