"Время запроса истекло." когда приложение вызывает веб-сервис после разблокировки iPhone

Я называю веб-сервис в UIApplicationWillEnterForeground следующим образом.

NotificationCenter.default.addObserver(self, 
                                       selector: #selector(self.checkUpdate), 
                                       name: .UIApplicationWillEnterForeground, 
                                       object: nil)

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

Это не фоновая выборка, а вызов api на переднем плане.

У кого-нибудь есть решение для этого?

С уважением.

1 ответ

@ Симон Вот код

let apiUrl = baseUrl + Constants.API.GETCONFIG;
    debugPrint("\(apiUrl)")
    get(url: apiUrl, parameters: nil) { (_ success: Bool, _ data: AnyObject?) in

        debugPrint("GetConfig: \(String(describing: data))")

        if(success) {

            if data == nil {
                debugPrint("Server Error: Data Nil)")
                self.delegate?.requestReturnedData(false, Constants.API_NAME.GETCONFIG, data)
                return
            }

            AppManager.sharedInstance.config = Config.parseFrom(JSON(data!))

        }else{
            debugPrint("Server Error: \(String(describing: data))")
        }

        if((self.delegate) != nil) {
            self.delegate?.requestReturnedData(success, Constants.API_NAME.GETCONFIG, data)
        }

    }

А вот и журнал ошибок

Необязательно (Ошибка домена =NSURLErrorDomain Code=-1001 "Время ожидания истекло." UserInfo={NSUnderlyingErr

Другие вопросы по тегам