位置服务权限为空
Location Services permission is empty
我正在使用位置管理器来跟踪区域。在一台设备上,我的应用程序表现得很奇怪。位置权限被授予始终使用,但位置管理器 returns 0,0 作为当前坐标,当我转到“设置”/“隐私”/“位置服务”/“应用程序”时 - 既没有选择“从不”也没有选择“始终”。
这发生在 iOS 11.0.2
我已经设置了 plist 密钥 (NSLocationAlwaysUsageDescription) 并且只使用 requestAlwaysAuthorization 因为它需要区域监控。
一件重要的事情 - Google 地图和 Apple 地图通常使用当前位置。
正如 Brad Jensen 在 WWDC 演讲中所解释的那样,Apple 认为强制用户授予应用程序“始终”位置访问权限是一种糟糕的用户体验:
https://developer.apple.com/videos/play/wwdc2017/713/
因此,当您使用 iOS 11 SDK 构建您的应用程序时,您现在需要在所有情况下提供一个 NSLocationWhenInUseUsageDescription
密钥(如果您完全使用位置信息)。对于“始终”访问,您可以另外提供第二个密钥,现在称为 NSLocationAlwaysAndWhenInUseUsageDescription
。
我正在使用位置管理器来跟踪区域。在一台设备上,我的应用程序表现得很奇怪。位置权限被授予始终使用,但位置管理器 returns 0,0 作为当前坐标,当我转到“设置”/“隐私”/“位置服务”/“应用程序”时 - 既没有选择“从不”也没有选择“始终”。 这发生在 iOS 11.0.2
我已经设置了 plist 密钥 (NSLocationAlwaysUsageDescription) 并且只使用 requestAlwaysAuthorization 因为它需要区域监控。
一件重要的事情 - Google 地图和 Apple 地图通常使用当前位置。
正如 Brad Jensen 在 WWDC 演讲中所解释的那样,Apple 认为强制用户授予应用程序“始终”位置访问权限是一种糟糕的用户体验:
https://developer.apple.com/videos/play/wwdc2017/713/
因此,当您使用 iOS 11 SDK 构建您的应用程序时,您现在需要在所有情况下提供一个 NSLocationWhenInUseUsageDescription
密钥(如果您完全使用位置信息)。对于“始终”访问,您可以另外提供第二个密钥,现在称为 NSLocationAlwaysAndWhenInUseUsageDescription
。