错误:__tcp_connection_write_eof_block_invoke 写入关闭回调收到错误 - iOS 10

Posted

技术标签:

【中文标题】错误:__tcp_connection_write_eof_block_invoke 写入关闭回调收到错误 - iOS 10【英文标题】:Error: __tcp_connection_write_eof_block_invoke Write close callback received error - iOS 10 【发布时间】:2016-09-30 12:36:12 【问题描述】:

向 ONVIF 摄像头发送 XML 基础 API 请求时。它在 ios 9 设备上运行良好,但在 iOS 10 上出现“500 内部错误”。

XCode 8 控制台打印以下错误消息:

2016-09-30 12:39:51.295419 VCPlugin[278:10183] [] nw_socket_get_input_frames recvmsg(fd 12, 1024 bytes): [54] Connection reset by peer
2016-09-30 12:39:51.301221 VCPlugin[278:10228] [] nw_socket_write_close shutdown(12, SHUT_WR): [57] Socket is not connected
2016-09-30 12:39:51.301307 VCPlugin[278:10228] [] nw_endpoint_flow_service_writes [3 10.107.2.153:80 ready socket-flow (satisfied)] Write request has 0 frame count, 0 byte count
2016-09-30 12:39:51.301903 VCPlugin[278:10185] [] __tcp_connection_write_eof_block_invoke Write close callback received error: [89] Operation canceled
2016-09-30 12:41:13.492053 VCPlugin[278:10287] [] __tcp_connection_write_eof_block_invoke Write close callback received error: [57] Socket is not connected
2016-09-30 12:42:51.278617 VCPlugin[278:10228] [] __tcp_connection_write_eof_block_invoke Write close callback received error: [22] Invalid argument

如果用户重试并重试三到四次,则在从服务器获得有效的 xml 响应之后。

我不知道 iOS 10 的这种行为。

这是我为调用 XML API 发布请求编写的代码:

NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:body];
[urlRequest setValue: @"application/soap+xml" forHTTPHeaderField:@"Content-Type"];
[urlRequest setValue: @"application/soap+xml" forHTTPHeaderField:@"Accept"];

NSURLSessionDataTask * dataTask = [defaultSession dataTaskWithRequest:urlRequest completionHandler:^(NSData *data1, NSURLResponse *response, NSError *error) 
        NSLog(@"Response:%@ %@\n", response, error);
        if(error == nil)
        
             NSString * text = [[NSString alloc] initWithData: data1 encoding: NSUTF8StringEncoding];
              NSLog(@"Data = %@",text);
        
];

[dataTask resume];

还阅读了Apple Form,但没有得到解决方案。

【问题讨论】:

【参考方案1】:

试试这个代码:

我也有同样的问题,但是您可以采取一些措施,

1) 进入产品 -> 方案 -> 编辑方案 2)运行左侧的部分,选择参数选项卡,然后在环境变量中放这个。

OS_ACTIVITY_MODE 的值:禁用。

欲了解更多信息,请查看以下屏幕截图。

这将消除控制台中的消息。

但我仍然在努力解决PLBuildVersion 在两者中的实现......

希望对你有帮助!

【讨论】:

感谢 Bhadresh,您的解决方案有助于从控制台中删除消息。但仍面临 XML 响应中的“500 内部错误”。 但同样的代码在 iOS 9.0 和以前的版本中运行良好。仅在 iOS 10 中给出“500 内部错误”。 是的,请求和响应都是 XML 格式。谢谢 您找到解决问题的方法了吗?我在我的应用程序中发现了同样的事情,但我认为这与网络服务器因多个同时请求而过载有关。对我来说,它只是在我开始一次发送多个请求之后才开始的。我正在研究异步减慢请求,看看它是否仍然发生。 大家好,我有这个错误,在浏览器中一切正常,在设备中 - 错误,完全有帮助 - 清理+重启设备+清除派生数据

以上是关于错误:__tcp_connection_write_eof_block_invoke 写入关闭回调收到错误 - iOS 10的主要内容,如果未能解决你的问题,请参考以下文章

属性错误:__enter__

Codeigniter 3.0 查询错误

Spring boot zuul错误重定向请求

__x__(72)1011第十二天__ JavaScript 错误处理机制

我有一个新项目,但是执行 ng serve 时出现错误

从 S3 通配符加载文件时引发错误