我正在做this tutorial,它将返回GPS坐标。当我在iPhone上运行应用程序时,我首先会看到UIAlertView
请求访问我的GPS坐标的权限。
我需要知道这个UIAlertView
被抛出的位置?它来自操作系统吗?
我们可以捕获这种方法吗?当用户点击“允许”或“不允许”时,我可以将他的选择打印到控制台吗?
我该如何以编程方式执行此操作?是否有此事件?
答案 0 :(得分:3)
操作系统显示此警报。用户必须允许使用基于位置的API。您可以向CLLocationManager
询问当前authorizationStatus
,并在状态更改时收到通知(将调用委托方法)。请注意,用户也可以稍后在设置应用中禁用位置服务。
答案 1 :(得分:1)
我假设您正在使用CLLocationManager。当应用程序使用API的能力发生变化时,您的委托将获得locationManager:didChangeAuthorizationStatus。
编辑: 您的应用程序第一次尝试使用该服务时,将提示用户。如果用户回答否,则您的应用程序将无法使用该服务,除非他们转到设置 - >常规 - >位置服务并更改您的应用程序的设置。
如果您查询API状态并且不允许,您可以弹出自己的弹出窗口并指示用户如何更改应用程序的设置。