Ios locationmanager didchangeauthorizationstatus未在后台调用
当应用程序处于后台时,Ios locationmanager didchangeauthorizationstatus未在后台调用,ios,swift,cllocationmanager,Ios,Swift,Cllocationmanager,当应用程序处于后台时,delegate方法似乎没有通知我。一旦应用程序进入前台,我就会得到didchangearthorizationstatus。是否有其他人在后台成功获取了授权状态 顺便说一句,其他的delegate方法在后台工作,因此我知道我在info.plist中设置了正确的属性,即使它在delegate类中,只有在以下两个都为真时才会调用didChangeAuthorization: 用户更改应用程序位置服务授权状态 应用程序在InUseAuthorization()或request
delegate
方法似乎没有通知我。一旦应用程序进入前台,我就会得到didchangearthorizationstatus
。是否有其他人在后台成功获取了授权状态
顺便说一句,其他的
delegate
方法在后台工作,因此我知道我在info.plist
中设置了正确的属性,即使它在delegate类中,只有在以下两个都为真时才会调用didChangeAuthorization:
- 用户更改应用程序位置服务授权状态
- 应用程序在InUseAuthorization()或requestAlwaysAuthorization()时调用RequestWhen
它不会在后台调用,以响应用户在“设置”应用程序中更改设置,更改设置不会导致iOS唤醒您的应用程序。如果用户更改设置,则您的应用程序将停止接收位置更新,直到下一次应用程序位于前台时,它才知道原因。您遇到了什么问题?你的应用程序不是在后台运行的,那么,为什么你在前台才收到通知很重要呢?这是你的应用程序可以做任何事情的第一刻。马特,我正在后台收集位置更新并记录下来。如果用户关闭了位置,我想记录它。文档中是否有这种行为的证据?我也有同样的观察结果,但不确定这是否是让迪迪开始工作的唯一途径