【发布时间】:2014-10-01 01:48:49
【问题描述】:
当我的应用启动地图视图时,我请求 iOS8“使用时”位置权限。假设用户同意。
我想仅在用户选择加入我的地理围栏功能时才请求“始终”权限。但是调用 CLLocationManager.requestAlwaysAuthorization 没有效果,因为当前授权状态不再是 kCLAuthorizationStatusNotDetermined。
在用户授予“使用时”权限之后,如何请求“始终”权限?我认为这是一个常见的用例,因为除非需要,否则应用程序应避免请求 Always 权限。
【问题讨论】:
-
看起来它的设计并未考虑到您的场景。但是文档说 AlwaysAuthorization 只有在应用程序真正需要它时才应该使用,所以他们应该支持它。我认为您应该向 Apple 提交错误。顺便提一句。还有另一种提示用户更改状态的方法,使用 UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString)) 将他们重定向到应用程序设置。在我的情况下,它只显示 None 和 Always,但如果你可以强制它显示所有三个选项......
标签: core-location ios8