簡體   English   中英

Alamofire后台提取不會處理更多請求

[英]Alamofire background fetch doesn't process fruther requests

我想用performFetchWithCompletionHandler執行后台提取,顯然所有以前的解決方案都不適用於我。

奇怪的是我的第一個要求是好的,但接下來的要求不是。

我嘗試使用SessionManager的單例,我也嘗試將所有Alamofire請求出列到后台線程,並使用URLSessionConfiguration.background(withIdentifier: "com.test.background")更改了URLSessionManager

 group.enter()
 api.getClimateStateData(carId: carId, completion: { [weak self] response in
       guard let strongSelf = self else { return }
       climateModel = strongSelf.sortDataFromError(data: response)
       group.leave()
})
func getClimateStateData(carId: Int, completion: @escaping (ServiceResponse<ClimateStateModel>) -> Void) {
        let header: HTTPHeaders = ["User-Agent": UserAgentHelper.fullUserAgentString]
        request("/api/1/vehicles/\(carId)/data_request/climate_state", method: .get, parameters: nil, encoding: nil, headers: header).responseData { [weak self] response in
            guard let strongSelf = self else { return }
            completion(strongSelf.completionResponse(response))
     }
}
    @discardableResult private func request(
        _ path: String,
        method: HTTPMethod,
        parameters: Parameters? = nil,
        encoding: ParameterEncoding? = nil,
        headers: HTTPHeaders? = nil)
        -> DataRequest {
            let userEncoding = encoding ?? self.defaultEncoding
            print("Asking: " + path)
            return Service.sessionManager2.request("\(API)\(path)", method: method, parameters: parameters, encoding: userEncoding, headers: headers).validate()
}

我想滿足這些要求。

謝謝你的時間!

我的壞,這是由於self =零。

由於某些原因, self是deinit。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM