更改requestAlwaysAuthorization以requestWhenInUseAuthorization不起作用

时间:2016-04-05 17:43:00

标签: ios cllocationmanager

我的应用曾经使用requestAlwaysAuthorizationNSLocationAlwaysUsageDescription的Info.plist条目。

我将其更改为使用带有requestWhenInUseAuthorization的Info.plist条目的NSLocationWhenInUseUsageDescription

更改后,应用无法再获取该位置。它只会收到didChangeAuthorizationStatus kCLAuthorizationStatusNotDetermined。操作系统不会提示更改权限(这是有道理的,因为它已经具有永久权限。应用程序的设置菜单不包含位置信息条目(这将允许我撤销或批准它)。{{ 1}}永远不会被调用。

然后我切换回didFailWithError使用requestWhenInUseAuthorization的Info.plist条目并重新启动应用。操作系统会提示始终更改权限。我授予它并且位置开始完美。

在重新安装之前删除应用程序无效。

我正在使用IOS 9.2。这发生在真正的iPhone和模拟器上。我将模拟器的位置设置为Apple。

1 个答案:

答案 0 :(得分:1)

对于我来说,位置管理器在模拟器上可能是一个真正的命中或错过,有时它运作良好,有时它不会。你试过在设备上运行吗?