Если я вызываю .requestLocation()
в фоновом режиме моего приложения, метод locationManager didUpateLocations
никогда не вызывается.Работает, когда приложение открыто.Я установил .allowsBackgroundLocationUpdates = true
и тестовый телефон выбрал .authorizedAlways
для статуса авторизации.requestLocation
не работает в фоновом режиме?
Чтобы уточнить, я вызываю его в методе делегата didReceiveRemoteNotification
.Каждый раз, когда я отправляю удаленное push-уведомление на устройство, я хочу, чтобы .requestLocation()
вызывалось, если приложение работает в фоновом режиме.Разве это невозможно?
didReceiveRemoteNotification
:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
if CLLocationManager.authorizationStatus() == .authorizedAlways {
locationManager.requestLocation()
}
completionHandler(UIBackgroundFetchResult.newData)
}