我正面临一个非常奇怪的问题。在应用程序开始时,我调用 API 来获取令牌。它在 iOS 12 之前运行良好。但是,在 iOS 13 测试版上,完成闭包没有被调用,应用程序不断积累内存并最终崩溃。
但是,当我将相同的代码从 Xcode 10 运行到 iOS 13 beta 模拟器时,它运行良好。
我附上了调用 API 的代码,请帮助我。
这是我没有得到完成处理器和刚刚失去控制的功能。
@discardableResult
static func requestObject<T: Decodable>(urlRequest: URLRequest, sessionManager: SessionManager? = nil, keyPath: String? = nil, decoder: JSONDecoder = JSONDecoder(), queue: DispatchQueue? = nil, completion: @escaping (NetworkResult<T>) -> Void) -> URLSessionTask? {
let request = self.request(urlRequest: urlRequest, sessionManager: sessionManager)
.responseDecodableObject(decoder: decoder, keyPath: keyPath, queue: queue) { (response: DataResponse<T>) in
switch response.result {
case .failure(let error): completion(NetworkResult.failure(error))
case .success(let value): completion(NetworkResult.success(value))
} …Run Code Online (Sandbox Code Playgroud)