MapBox 中的 iOS 8 位置服务



我正在我的iPhone应用程序中使用MakBox for iOS 1.4.1 SDK,其中包含Objective C。在为 XCode 6 和 iOS 8 更新我的应用程序时,我将 NSLocationWhenInUseUsageDescription 项添加到我的 plist 设置中。 我测试了,没有收到任何位置更新。 然后,我添加了NSLocationAlwaysUsageDescription键,并启用了对"flow"的更新。 我的问题是:由于当应用程序未运行时我不需要定位服务,因此我只想使用WhenInUse权限,但MapBox似乎不起作用。 因此,如果被迫使用AlwaysUsage,即使应用程序正在运行,Apple也会抛出有关使用位置服务的应用程序的可怕警告权限问题。

我在这里错过了什么吗?

编辑 - 我的位置更新来自我的 RMMapViewDelegate 方法。 如果我使用 NSLocationAlwaysUsageDescription 并且用户允许 always 权限,我就会得到更新。 如果我使用 NSLocationWhenInUseUsageDescription,我什么也得不到。
编辑 - 我将CLLocationManagerDelegate添加到我的VC中,并正确拼写了NSLocationWhenInUseUsageDescription,如果我调用[self.locationManager requestWhenInUseAuthorization],我将得到提示,WhenInUse位置更新将起作用。

我测试了,没有收到任何位置更新。

您是否以异步方式评估对此的响应?也就是说,正在监听位置管理器委派的授权状态更改?如果没有,这可能是您的问题。

最新更新