[英]iOS Calling Web Service doesn't work on 4g
我正在編寫一個調用JSON Web服務的應用程序。 當iPhone連接到WiFi網絡時,它可以正常工作。 但是,當它使用蜂窩數據網絡時,它不起作用。 我收到[NSJSONSerialization JSONObjectWithData:數據選項:kNilOptions錯誤:&錯誤]返回的錯誤。 這是我的代碼:
-(BOOL) CallService {
NSError *error;
NSData *paramData = [NSJSONSerialization dataWithJSONObject:self.parameter options:kNilOptions error:&error];
NSString *serviceUrl = [[NSString alloc] initWithFormat:@"%@%@", self.webHost, self.serviceName];
NSURL *url = [NSURL URLWithString:serviceUrl];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"json" forHTTPHeaderField:@"Data-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [paramData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:paramData];
NSError *errorReturned = nil;
NSURLResponse *theResponse =[[NSURLResponse alloc]init];
NSData *data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&theResponse
error:&errorReturned];
BOOL retVal = FALSE;
if (errorReturned){
//...handle the error
NSLog(@"%@", errorReturned.description);
}
else {
self.serviceResult = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSLog(@"%@", error);
retVal = (BOOL)[self.serviceResult objectForKey:@"Success"];
}
return retVal;
}
並且返回的錯誤是:
purgeIdleCellConnections: found one to purge conn = 0x1d04d710
2012-11-07 20:17:43.776 iPressBoxx-iPhone[733:907]
Error Domain=NSCocoaErrorDomain
Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)"
(JSON text did not start with array or object and option to allow fragments not set.)
UserInfo=0x1d04eff0 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
對我來說聽起來像你是JSON編碼的數據或結果混淆了。
這里最好的選擇是打印出所有原始數據或使用像Charles Proxy( http://charlesproxy.com )這樣的內容攔截網絡請求,看看發生了什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.