Error: __tcp_connection_write_eof_block_invoke Record received callback error - iOS 10

When sending an XML database API request to the ONVIF camera. It worked fine on an ios 9 device, but gave a “500 Internal Error” on iOS 10.

The Xcode 8 console displays the following error messages:

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 

If the user retries and retries three to four times, then after receiving a valid xml response from the server.

I do not know this behavior in iOS 10.

This is the code I wrote to request the XML API for the request:

 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]; 

Also read the Apple Form , but don't get the solution.

+5
source share
1 answer

try this code:

I have the same problem, but there is something you can do,

1) Go to Product → Scheme → Edit Scheme
2) Run the section on the left, select the “Argument” tab and “Environment Variable”, put this.

OS_ACTIVITY_MODE for value: disable.

See screenshot below for more information.

enter image description here

This will save you messages in the console.

But I'm still PLBuildVersion with PLBuildVersion implemented in both ...

Hope this helps you!

+7
source

Source: https://habr.com/ru/post/1257524/


All Articles