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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 1970-01-01
        相关资源
        最近更新 更多