2016-04-05 164 views
1

我的应用程序用于使用requestAlwaysAuthorization,其Info.plist条目为NSLocationAlwaysUsageDescription将请求更改为授权请求时,当使用授权不起作用

我将其更改为使用requestWhenInUseAuthorization,其Info.plist条目为NSLocationWhenInUseUsageDescription

更改后,应用程序无法再获取位置。它只收到kCLAuthorizationStatusNotDetermineddidChangeAuthorizationStatus。操作系统不会提示权限发生变化(这是有道理的,因为它已经具有始终的权限)。应用程序的设置菜单不包含位置信息条目(这可以让我撤销或批准它)didFailWithError是从来不叫。

我再切换回使用requestWhenInUseAuthorizationNSLocationWhenInUseUsageDescription一个Info.plist条目,并重新启动应用程序。操作系统提示中权限的变化总是这样。我承认它和位置开始正常使用。

删除应用程序,然后重新安装它没有任何效果

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

+0

您是否更改了许可请求调用? –

+0

@MidhunMP是的。正如我写的,我改变了它的应用程序调用'requestWhenInUseAuthorization' –

回答

1

位置管理器可以是模拟器上的真正命中或者失败,至少对我来说,有时它运作良好,有时它不会。你有没有试过在设备上运行它?

+0

是的,我试过了。在模拟器上发生同样的事情。 –

+0

对不起,错字。我的意思是在真实的iphone上和模拟器上发生的一样。 –