iOS8 对于NSURLRequest 的bug

来源:互联网 发布:java 图片水印 编辑:程序博客网 时间:2024/05/14 08:32

有一个简单的程序,简单的一个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就会出现这个提示,这个给出问题的同学提醒一下。

0 0