IOS 13で応答がどういうわけか大きい(14kb)と、次のネットワークエラーが発生します。
[-1103] Error Domain=NSURLErrorDomain Code=-1103 "resource exceeds maximum size"
Alamofireを使用しているため、この問題はエラー結果として扱われ、結果の処理が壊れます。
奇妙なことに、NSURLSessionを直接使用した場合、このエラーはまだログに記録されていますが、実際には次のコールバックで受け取りません。
session.dataTask(with: request) { value, response, error in ... }
したがって、結果は正しく処理されます。
この問題はこれまでに見られません。誰かがそれについて何か考えを持っていますか?
私はデフォルトのjsonエンコーディングの代わりにデフォルトのURLエンコーディングを使用し、それは私のために働いた。
Alamofire.request(url, method: .get, parameters: param, encoding: URLEncoding.default)
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)
}
}