2016-09-30 116 views
5

向ONVIF攝像機發送XML基本API請求時。它工作得很好上IOS 9的設備,但在下面的錯誤消息給「500內部錯誤」在iOS 10.錯誤:__tcp_connection_write_eof_block_invoke寫關閉回調接收到錯誤 - iOS 10

的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 POST請求寫:

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,但沒有得到解決。

回答

7

試試這個代碼:

我有同樣的問題,但是有一些東西你可以做,

1)進入的產品 - >計劃 - >編輯方案
2)潤科在左邊選擇參數選項卡,然後在環境變量中放置這個。

OS_ACTIVITY_MODE to value : disable.

欲瞭解更多信息,請找到下面的截圖。

enter image description here

這將擺脫在控制檯消息。

但我仍與PLBuildVersion掙扎在兩個實施....

我希望這可以幫助你!

+1

感謝Bhadresh,您的解決方案有助於從控制檯中刪除消息。但是在XML響應中仍然面臨'500內部錯誤'。 – Punita

+0

這個錯誤是xml類型的問題。 –

+0

但這個相同的代碼在iOS 9.0和以前的版本中工作正常。只有在iOS 10中出現'500內部錯誤'。 – Punita