web-dev-qa-db-ja.com

-1103エラードメイン= NSURLErrorDomainコード= -1103「リソースが最大サイズを超えています」iOS 13

IOS 13で応答がどういうわけか大きい(14kb)と、次のネットワークエラーが発生します。

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

Alamofireを使用しているため、この問題はエラー結果として扱われ、結果の処理が壊れます。

奇妙なことに、NSURLSessionを直接使用した場合、このエラーはまだログに記録されていますが、実際には次のコールバックで受け取りません。

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

したがって、結果は正しく処理されます。

この問題はこれまでに見られません。誰かがそれについて何か考えを持っていますか?

33
Jibeex

私はデフォルトのjsonエンコーディングの代わりにデフォルトのURLエンコーディングを使用し、それは私のために働いた。

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

OR

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