我有崩溃报告是由于没有对dataTask完成块中的数据执行nil-check引起的.修复错误是微不足道的,但在什么情况下甚至会发生?在我的所有测试中,我总是收到一个0字节的NSData,而不是nil - 但显然它是在崩溃日志中发生的.我已经尝试禁用连接(通过飞行模式),反馈无效的HTTP响应,超时HTTP响应,在连接仍在传输时最小化应用程序等等...我做了我能想到的一切,但永远不会得到数据为零 - 只有0字节.我没想到什么?
NSURLSession *session = [NSURLSession sessionWithConfiguration:config];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
// What kind of server-response/connection-scenarios would make data be nil...? (not 0 bytes)
}];
[task resume];
Run Code Online (Sandbox Code Playgroud)