将 requestAlwaysAuthorization 更改为 requestWhenInUseAuthorization 不起作用

Changing requestAlwaysAuthorization to requestWhenInUseAuthorization not working

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

我将其更改为使用 requestWhenInUseAuthorizationNSLocationWhenInUseUsageDescription 的 Info.plist 条目。

更改后应用无法再获取位置。它只收到 kCLAuthorizationStatusNotDetermineddidChangeAuthorizationStatus。 OS 不会提示更改权限(这是有道理的,因为它已经拥有 always 的权限。应用程序的设置菜单不包含位置信息条目(这将允许我撤销或批准它). didFailWithError 永远不会被调用。

然后我切换回使用 requestWhenInUseAuthorizationNSLocationWhenInUseUsageDescription 的 Info.plist 条目并重新启动应用程序。 OS 提示将权限更改为始终。我授予它,该位置开始完美运行。

在重新安装之前删除该应用程序没有任何效果。

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

位置管理器在模拟器上可能是一个真正的成功或失败,至少对我来说,有时它运行良好,有时则不然。您是否在设备上尝试过 运行?