从CLLocationManager授权警报中按下检测按钮

Bil*_*ess 1 iphone uialertview cllocationmanager ios

我正在检测用户是否已接受在我的应用程序中使用位置服务的请求,我在UI中有一个取决于此接受的切换开关.他们第一次切换开关(打开)时,触发了使用位置的请求.我想知道他们在那个警报中按哪个按钮.(接受或拒绝)现在我只是将其切换并让用户再次按下它(然后检测他们选择了哪个选项).

这有点草率,所以我想知道是否有办法检测这个特定的警报,或者由于它是由操作系统而不是应用程序触发而无法完成?我还没有尝试过,但是我认为我可以使用UIAlertView委托方法进行通用按钮按下,但希望能有更具体的内容.

UPDATE

我通过在触发位置请求时注册通知(并显示授权提示)来实现此功能.应用程序处于非活动状态(很像下拉通知栏).我只是在应用程序变为活动状态时触发通知,我只能在那里查询授权状态并更新我的UI.如果他们想要动态处理授权状态,我希望这有助于其他任何人.

Sco*_*ets 5

没有办法拦截警报.但是,有CLLocationManagerDelegate一种名为didChangeAuthorizationStatus的方法.这可能是你最接近拦截警报的地方.