我看到这个有线问题,当我启动我的应用程序时,我得到连续(4-5次)错误消息,有时它说
“由于呼叫当前处于活动状态,因此无法建立数据连接”没有当前通话
请求超时
找不到具有指定主机名的服务器。
当您单击“确定”时,错误消息会消失几次,应用程序也可以正常运行。
当应用程序启动时,我正在做两件事,我开始使用CLLocationManager更新当前位置,一旦我获得了使用NSURLConnection进行两次异步调用的位置,我看到我的NSURLConnection委托方法中的didFailWithError方法被调用, 所有的信息都来自那里,所以我想弄清楚的是
它开始表现不好。我想知道它是否需要一些热身时间或类似的东西。我想显示错误消息,但并非所有这些都可能是好的,即使没有数据连接,显示这么多次会惹恼用户。
这是我的didFailWithError中的代码。
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
message:[NSString stringWithFormat:@"Error code is %d", [error code]]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
[alertView release];
还有一个问题,我如何打印实际的错误消息,而不是这个神秘的错误代码。
感谢您帮助我。
用于建立连接的[EDIT]代码
NSURL *getURL = [NSURL URLWithString: urlString];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
//add our HTTP headers and URL
[request setValue: @ "plain/text" forHTTPHeaderField : @"Content-Type"];
[request setHTTPMethod:@"GET"];
[request setURL : getURL];
NSURLConnection* urlConnection =
[[[NSURLConnection alloc] initWithRequest:request
delegate:delegate
startImmediately:YES] autorelease];
Yogesh
答案 0 :(得分:1)
您可以使用以下行打印实际的错误消息:
-(void) connection:(NSURLConnection *) connection didFailWithError:(NSError *) error {
NSLog(@"localizedDescription%@", [error localizedDescription]);
}
您必须在NSURLConnection
。
我是Stack Overflow的新手。因此,如果在回答上述问题时没有遵循任何规则/习惯,请指出。
答案 1 :(得分:1)
我找到了答案,实际上我有signficantLocationChange的东西,而且发生的事情是当应用程序因signficantLocationChange而醒来时,应用程序假设要进行服务器调用以获取一些信息,而且发生的情况是当应用程序唤醒时,会出现没有可用数据连接的情况,因此所有错误都会被填满,当用户打开应用程序时,他会看到所有这些错误。
答案 2 :(得分:0)
立即删除Content-Type: text/plain
请求标头。除非您提交POST数据,否则请求没有内容类型。并且GET请求不应包含POST数据。