当应用程序处于后台时,我似乎没有收到 delegate
方法的通知。一旦应用程序进入前台,我就会得到 didChangeAuthorizationStatus
。还有其他人在后台成功获取 authorizationStatus
吗?
顺便说一句,其他delegate
方法在后台工作,所以我知道我已经在info.plist
中设置了正确的属性。
最佳答案
尽管它位于委托(delegate)类 didChangeAuthorization 中,但仅当以下两个条件都成立时才会调用:
- 用户更改应用位置服务授权状态
- 应用调用 requestWhenInUseAuthorization() 或 requestAlwaysAuthorization()
它不会从后台调用以响应用户更改“设置”应用程序中的设置,更改设置不会导致 iOS 唤醒您的应用程序。如果用户更改设置,那么您的应用将停止接收位置更新,直到应用下次进入前台时才会知道原因。
关于ios - Locationmanager didchangeauthorizationstatus 未在后台调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42282965/