При сворачивании приложения, теряется текущий контроллер и открывается главный ViewController


#1

Добрый день, когда посылаю запрос оплаты, показываю индикатор, если в этот момент свернуть приложение и развернуть, то перенаправлюсь в главный ViewController, при свертывании и развертывании приложения, по идее индикатор и текущий ViewController должен остаться. Что с этим можно сделать?

@IBAction func payNowSelected(_ sender: UIButton) {
        if let creditCardId = accountController.selectedCreditCardID, isTermsSelected {
            if let creditCard = dataSource.creditCardById(creditCardId) {
                
                AnalyticsManager.instance.track(UserActionWithCategory: "User's actions",
                                                action: "Users paymant action")
                showActivityIndicator()
                
                createOrderFlow = CreateOrderFlow(withOrder: order,
                                                  stadium: accountController.stadium!,
                                                    paymantCoordinator: appDelegate().appScope.paymantCoordinator,
                                                    creditCard: creditCard)
                
                createOrderFlow?.resumeWithCompletionClosure(closure: { [weak self] result in
                    guard let strongSelf = self else { return }
                    DispatchQueue.main.async {
                        strongSelf.hideActivityIndicator()
                        
                        if let error = result.error {
                            strongSelf.presentWarningAlert(error.localizedDescription)
                            strongSelf.cleanBasket()
                            appDelegate().appScope.screensController.showScreens()
                            
                        } else if let responseError = result.responseMessage, let codeError = result.responseCodeError {
                            
                            switch codeError {
                            case 1:
                                strongSelf.presentWrongInputAlert(responseError, okAction: {
                                    strongSelf.cleanBasket()
                                    appDelegate().appScope.screensController.showStadiumScreen()
                                })
                                return
                            case 2:
                                strongSelf.presentWrongInputAlert(responseError, okAction: {
                                    strongSelf.navigationController?.popViewController(animated: true)
                                })
                                return
                            case 3:
                                strongSelf.presentWrongInputAlert(responseError, okAction: {
                                    strongSelf.navigationController?.popToRootViewController(animated: true)
                                })
                                return
                            default:
                                return
                            }
                        } else {
                            if let order = result.order {
                                if let currentVC = strongSelf.navigationController?.topViewController as? OrderDetailsViewController {
                                    if currentVC.loadOrderId != order.id! {
                                        strongSelf.presentOrderDetailsViewController(order.id!)
                                    } else {
                                        appDelegate().appScope.screensController.showStadiumScreen()
                                    }
                                } else {
                                    strongSelf.presentOrderDetailsViewController(order.id!)
                                }
                                
                                strongSelf.cleanBasket()
                            } else {
                                strongSelf.cleanBasket()
                                appDelegate().appScope.screensController.showStadiumScreen()
                            }
                        }
                    }
                })
            }
        }
    }

#2

Все запросы прекращаются.

Возвращается ошибка которую вы не обрабатываете.