同时向 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) 进入Product -> Scheme -> Edit Scheme
2) 在左侧的运行部分,选择参数选项卡并在环境变量中放置它。
OS_ACTIVITY_MODE to value : disable.
有关详细信息,请查看以下屏幕截图。
这将删除控制台中的消息。
但我仍然在为 PLBuildVersion 在两者中实现而苦苦挣扎....
希望对你有帮助!
关于ios - 错误 : __tcp_connection_write_eof_block_invoke Write close callback received error - iOS 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39791692/