“请求超时。”当iPhone解锁后,应用程序调用Web服务

时间:2018-05-08 14:23:36

标签: ios swift web-services alamofire request-timed-out

我像这样在UIApplicationWillEnterForeground中调用Web服务。

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

这在正常情况下效果很好。但是,当应用程序处于后台并且手机长时间锁定时,我解锁手机并再次打开应用程序,调用Web服务的时间已超时。

这不是后台获取,而是在前台调用api。

有人有解决方案吗?

问候。

1 个答案:

答案 0 :(得分:0)

@Simon 这是代码

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代码= -1001“请求超时。”UserInfo = {NSUnderlyingErr