获取位置权限对话框的结果

时间:2011-11-01 19:14:21

标签: objective-c ios cocoa-touch core-location

我正在做this tutorial,它将返回GPS坐标。当我在iPhone上运行应用程序时,我首先会看到UIAlertView请求访问我的GPS坐标的权限。

我需要知道这个UIAlertView被抛出的位置?它来自操作系统吗? 我们可以捕获这种方法吗?当用户点击“允许”或“不允许”时,我可以将他的选择打印到控制台吗?

我该如何以编程方式执行此操作?是否有此事件?

2 个答案:

答案 0 :(得分:3)

操作系统显示此警报。用户必须允许使用基于位置的API。您可以向CLLocationManager询问当前authorizationStatus,并在状态更改时收到通知(将调用委托方法)。请注意,用户也可以稍后在设置应用中禁用位置服务。

答案 1 :(得分:1)

我假设您正在使用CLLocationManager。当应用程序使用API​​的能力发生变化时,您的委托将获得locationManager:didChangeAuthorizationStatus。

编辑: 您的应用程序第一次尝试使用该服务时,将提示用户。如果用户回答否,则您的应用程序将无法使用该服务,除非他们转到设置 - >常规 - >位置服务并更改您的应用程序的设置。

如果您查询API状态并且不允许,您可以弹出自己的弹出窗口并指示用户如何更改应用程序的设置。