Можно ли открыть ViewController из фонового режима или когда приложение убито? - PullRequest
1 голос
/ 09 января 2020

Я пытаюсь открыть ViewController при получении уведомления pu sh. Я делаю это так

func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, for type: PKPushType) {
 guard let aps = payload.dictionaryPayload[AnyHashable("aps")] as? NSDictionary else{
    return;
  }
 startCustomCallController(apnData: app)


}

fun startCustomCallController(apnData: NSDictionary){
 let storyBord = UIStoryboard(name: "PrivateUi", bundle: nil)
        guard let controller = storyBord.instantiateViewController(withIdentifier: "NewIncomingCallViewController") as? NewIncomingCallViewController else{
            print("Error instantiating view controller")
            return
        }
        controller.apnData = apnData
        guard let appdelegate = UIApplication.shared.delegate as? AppDelegate else {
                  print("appdelegate is missing")
                  return
        }
        UIView.transition(with: appdelegate.window!, duration: 0.5, options: .transitionCrossDissolve, animations: {
           appdelegate.window!.rootViewController = controller
        }, completion: nil)
}

Работает, когда приложение открыто (на переднем плане), но не работает, когда находится в фоновом режиме или убито. Это невозможно или мне нужно внести некоторые изменения?

1 Ответ

2 голосов
/ 09 января 2020

Невозможно запустить ViewController из фоновой модели, я думаю. Если вы хотите открыть viewcontroller для теста задачи, связанной с вызовом, используйте callkit

func pushRegistry(_ registry: PKPushRegistry, didReceiveIncomingPushWith payload: PKPushPayload, forType type: PKPushType) {
    // report new incoming call
}```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...