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