Фоновая выборка работает в симуляторе, но не работает в реальном устройстве - PullRequest
0 голосов
/ 04 мая 2020

Я звоню API, чтобы получить данные и показать локальное число sh на основе ответа API, поэтому я использую сервис background fetch от Apple, который представлен в iOS 13 и выше.

Но при попытке проверить этот сценарий в симуляторе, и он работает нормально, но когда я проверил это приложение на реальном устройстве, то оно не работает и потерял соединение, когда он пытается вызвать API в фоновом режиме.

Я не убиваю мой приложение с устройства просто вернулось, нажав на кнопку «домой».

Я не уверен, почему оно не работает в реальном устройстве.

Что я делал до сих пор. Шаги здесь:

  1. Я включил фоновую выборку из возможностей проекта приложения.

  2. Затем я добавил этот код в 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)
    
    }
    }
    }
    
  3. Это вызовет один метод из класса обслуживания, где будет вызываться один API, а затем, основываясь на api ответа, запустит один локальный pu sh.

Итак, проблема в том, что когда API вызывает в реальном устройстве, а приложение находится в фоновом режиме, я получаю ошибку ниже.

скриншот ошибки.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...