有一个简单的程序,简单的一个http get 取一个网页
NSURL *urlEncoding=[NSURL URLWithString:getUrl];
NSURLRequest *request = [NSURLRequest requestWithURL:urlEncoding cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60];
NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
但是程序一执行就报错
BSXPCMessage received error for message: Connection interrupted
而请求并没有发送出去,经过仔细的调试问题出现在
NSURL *urlEncoding=[NSURL URLWithString:getUrl];
这个getUrl网址是带中文参数值,按理需要经过如下代码进行UTF8转码
NSString * urlString = [getUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
但我不少心笔误把没转码前的字符串getUrl直接转成NSURL,就报上面错误了,这个不应该啊,就是的参数错误也是得由服务器来判断,没道理iPhone请求都没发送出去,看这个文档
http://stackoverflow.com/questions/26065808/bsxpcmessage-received-error-for-message-connection-interrupted
应该是iOS8的一个bug.在内部调CIFilters就会出现这个提示,这个给出问题的同学提醒一下。