web-dev-qa-db-fra.com

-1103 Error Domain = NSURLErrorDomain Code = -1103 "la ressource dépasse la taille maximale" iOS 13

Nous sommes confrontés à l'erreur de réseau suivante lorsque la réponse est en quelque sorte grande (14 Ko) sur iOS 13.

[-1103] Error Domain=NSURLErrorDomain Code=-1103 "resource exceeds maximum size"

Comme nous utilisons Alamofire, ce problème est traité comme un résultat d'erreur qui rompt nos traitements des résultats.

Ce qui est étrange, c'est que si nous utilisons NSURLSession directement, bien que cette erreur soit toujours visible dans la journalisation, nous ne la recevons pas réellement dans le rappel de

session.dataTask(with: request) { value, response, error in ... }

Ainsi, le résultat peut être traité correctement.

Ce problème n'a jamais été vu auparavant. Quelqu'un a une idée à ce sujet?

33
Jibeex

J'ai utilisé l'encodage url par défaut au lieu de l'encodage json par défaut et cela a fonctionné pour moi.

Alamofire.request(url, method: .get, parameters: param, encoding: URLEncoding.default)

OR

Si vous utilisez URLRequestConvertible

enum NetworkRouter: URLRequestConvertible {

    case someCase(lang:String)

    var method: HTTPMethod {
        return .get
    }

    var parameters: Parameters? {
        switch self {
        case .someCase(let param):
            return ["lang": param.lang]
        default:
            return nil
        }
    }

    var url: URL {
        switch self {
        case .someCase(let param):
            return URL(string: Constants.baseURL + Constants.endPoint)!
        default:
            return URL(string: Constants.baseURL)!
        }
    }

    var encoding: ParameterEncoding {
        return URLEncoding.default
    }

    func asURLRequest() throws -> URLRequest {
        var urlRequest = URLRequest(url: url)
        urlRequest.httpMethod = method.rawValue
        return try encoding.encode(urlRequest, with: parameters)
    }
}

0
Yasir N.Romaya