Я звоню API, чтобы получить данные и показать локальное число sh на основе ответа API, поэтому я использую сервис background fetch
от Apple, который представлен в iOS 13
и выше.
Но при попытке проверить этот сценарий в симуляторе, и он работает нормально, но когда я проверил это приложение на реальном устройстве, то оно не работает и потерял соединение, когда он пытается вызвать API в фоновом режиме.
Я не убиваю мой приложение с устройства просто вернулось, нажав на кнопку «домой».
Я не уверен, почему оно не работает в реальном устройстве.
Что я делал до сих пор. Шаги здесь:
Я включил фоновую выборку из возможностей проекта приложения.
Затем я добавил этот код в AppDelegate
extension AppDelegate {
func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
print("Bg Fetch from App Delegate 1")
DispatchQueue.main.asyncAfter(deadline: .now() + 3.0) {
BroadCastManager.sharedInstance.fetchNewDataWithCompletionHandler(completionHandler: completionHandler)
}
}
}
Это вызовет один метод из класса обслуживания, где будет вызываться один API, а затем, основываясь на api ответа, запустит один локальный pu sh.
Итак, проблема в том, что когда API вызывает в реальном устройстве, а приложение находится в фоновом режиме, я получаю ошибку ниже.
скриншот ошибки.