这是一个非常棘手的问题,我使用如下代码:
NSError *error = nil;
NSString *guideText = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
代码就像魅力一样,除非我带来服务器哪个URL指向下方。它发出大约1分钟的暂停,但随后方法调用返回错误。到现在为止还挺好。当我在模拟器中或在调试器下的设备上运行app时,它的行为方式相同。但是如果我在没有调试器的设备上运行程序,它会在暂停后崩溃。我尝试将代码包装在@ try / @ catch中,但没有任何帮助。实际上调试器没有看到任何问题,所以这对我来说是个谜。我试着把一些保护代码如下:
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
if ([NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil])
// here code above
[request release];
代码的行为与之前完全相同。程序暂停一分钟,然后正常运行,除非它在没有调试器的设备上运行。