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

Posted

技术标签:

【中文标题】提示输入核心位置时如何获得用户响应?【英文标题】:How to get user response when prompted for core location? 【发布时间】:2009-10-23 14:08:18 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

    – locationManager:didUpdateToLocation:fromLocation: 在这种方法中,您将代码用于处理位置更新。

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

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

【讨论】:

以上是关于提示输入核心位置时如何获得用户响应?的主要内容,如果未能解决你的问题,请参考以下文章

在不显示提示信息的情况下,如何获取用户当前位置的经纬度

如何在 Baseadapter 中获得位置

错误:收集用户位置时,“代表必须响应 locationManager:didUpdateLocations:”

编辑文本框中提示的自定义位置。

如何捕获位置警报响应iphone

播放Android视频时,当用户改变位置时如何获得回调?