如何在提示核心位置时获得用户响应?

时间:2009-10-23 14:08:18

标签: iphone objective-c iphone-sdk-3.0 core-location

当我在iPhone上安装我的应用程序时,它会在警报中询问“不允许”和“确定”选项的当前位置。如何找出选择的选项?我也想只显示一次此选项。如果用户选择允许找到他们当前的位置,我希望设备自动在后台获取该位置。

2 个答案:

答案 0 :(得分:7)

如果用户拒绝访问位置服务,则会调用CLLocationManager委托方法didFailWithError:

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
    if (error.code ==  kCLErrorDenied){
            // User denied access to location service       
    }
}

答案 1 :(得分:0)

您的控制器应实施CLLocationManagerDelegate协议。这定义了您需要实现的两种方法:

  1. – locationManager:didUpdateToLocation:fromLocation:
    在此方法中,您可以使用代码来处理位置更新。

  2. – locationManager:didFailWithError:
    在这种方法中,您可以使用代码来处理拒绝请求的用户,或者更新失败。

  3. 一旦用户允许您使用他们的位置,除非他们退出应用,否则不会再次提示他们。没有办法阻止手机在每次启动应用时提示用户。