Запрос не срабатывает при возврате в приложение из фона - PullRequest
0 голосов
/ 19 июня 2019

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

Я использую менеджер сессий alamofire, чтобы сделать запрос. И функция, выполняющая запрос, используется во всем проекте, и она работает. Это также не ошибка сервера или ошибка многопоточности, поскольку она выполняется в основном потоке, а сервер работает через curl / swagger.

Мне кажется, что приложение не имеет подключения к Интернету или что-то в этом роде при возвращении в приложение. Журналы можно найти внизу. Запрос был успешно выполнен несколько раз, что заставляет поверить в теорию интернет-соединения.

Вот некоторые отдельные части кода.

lazy var manager: SessionManager = {
        let sessionManager = Alamofire.SessionManager.default
        sessionManager.session.configuration.timeoutIntervalForRequest = 40
        sessionManager.adapter = OauthHandler.sharedInstance
        sessionManager.retrier = OauthHandler.sharedInstance
        return sessionManager
    }()

func authenticateRequestWithRouter(_ router: BaseRouter, shouldShowErrorAlert: Bool = true, _ completion: requestResponse?) {
        let request = router.asURLRequest()
        manager.request(request).validate().responseJSON() { [weak self] response in
            switch response.result {
            case .success(let data):
                completion?(true, data, nil)
            case .failure(let error):
                if shouldShowErrorAlert,
                    let errorMessage = self?.parseErrorMessage(fromData: response.data, request: request) {
                    self?.showErrorAlert(message: errorMessage)
                }
                completion?(false, response.data, error)
            }
        }
    }

Журналы, которые произошли:

Возвращает ENOTCONN, поскольку протокол еще не настроен

nw_connection_copy_connected_local_endpoint [C7] Соединение не имеет локальная конечная точка

Ошибка загрузки HTTP (код ошибки: -1005 [1:57])

Domain = NSURLErrorDomain Code = -1005 "Сетевое соединение потеряно."

Domain = NSPOSIXErrorDomain Code = 53 "Программное обеспечение вызвало прерывание соединения"

nw_protocol_boringssl_error (1584) [C1.1: 2] [0x102838b30] Нижний протокол ошибка стека: 53

...