位置服务权限为空

时间:2017-10-14 07:39:59

标签: ios permissions mapkit geofencing location-services

我使用位置管理器来跟踪区域。在一台设备上我的应用程序表现得很奇怪位置权限被授予使用Always,但位置管理器返回0,0作为当前坐标,当我转到设置/隐私/位置服务/应用程序时 - 既不选择从不也不总是。 这发生在iOS 11.0.2

我已设置plist密钥(NSLocationAlwaysUsageDescription)并仅使用requestAlwaysAuthorization,因为区域监控需要它。

一件重要的事情 - Google地图和Apple地图通常使用当前位置。

1 个答案:

答案 0 :(得分:0)

正如Brad Jensen在WWDC演讲中解释的那样,Apple决定强迫用户为应用程序“始终”提供位置访问是一种糟糕的用户体验:

https://developer.apple.com/videos/play/wwdc2017/713/

因此,当您使用iOS 11 SDK构建应用程序时,现在需要在所有情况下提供NSLocationWhenInUseUsageDescription密钥(如果您使用位置)。对于“始终”访问,您还可以提供第二个密钥,现在称为NSLocationAlwaysAndWhenInUseUsageDescription