Lan*_*ler 8 iphone settings delegates authorization cllocationmanager
我有一个问题CLLocationManagerDelegate.文档说明如果用户更改了您的位置服务的设置(在iPhone的Settings.app中),那么您的应用程序应该向didChangeAuthorizationStatus:代表接收消息.我的问题是,这会发生什么时候?
如果用户更改了设置,则表示他们位于设置应用中,并且您的应用是背景或根本没有运行,所以在前一种情况下,您的应用的CLLocationManager代表什么时候才能didChangeAuthorizationStatus:接听电话?
我刚刚在一小时前遇到过这种方法,所以关于这个问题的时机非常好!
看起来在我的情况下这个方法被调用:
我写了一个你可以在这里找到的快速测试应用:
https://github.com/mharper/LocationServices
只要调用方法,它就会记录授权状态.
小智 6
在以下情况下将调用此委托方法:
第一次启动CLLocationManager实例时
1.1.如果这是您的应用程序第一次在设备上启动,您将kCLAuthorizationStatusNotDetermined在用户看到[允许/不允许]之前收到状态UIAlertView.(此时,您可以UISwitch在设置 - 隐私 - 位置服务中找到您的应用程序已关闭或未显示.
1.2.用户重新启动您的应用程序时.由于已在先前的启动中做出决定,因此您可以检索状态.
用户做出决定后的第一次.这很明显.你打电话给startUpdatingLocation/后startUpdatingHeading,然后iOS显示UIAlertView.
在您的答案情况下,用户在"设置"中进行了更改,如果您的应用程序在后台运行,则当您的应用程序变为活动状态时,您将收到新状态.否则,参考1.2.
| 归档时间: |
|
| 查看次数: |
3558 次 |
| 最近记录: |