我正在编译一个包含以下内容的静态库(FAT二进制文件):
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSOperationQueue *queue = [[NSOperationQueue alloc] init]; // also tried [NSOperationQueue mainQueue]
[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
// CRASH BEFORE BLOCK EXECUTES
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
...
如果在设备和模拟器上使用应用程序编译,代码本身运行正常,但是当它仅在模拟器上用作另一个应用程序中的静态库时崩溃。静态库在iOS设备上运行良好。崩溃是EXC_BAD_ACCESS
,通过做一些日志记录,我将其缩小到sendAsynchronousRequest
。该块不会被调用。
知道可能出现什么问题吗?
答案 0 :(得分:0)
您是否有理由创建自己的队列?尝试使用[NSOperationQueue mainQueue]
作为队列
答案 1 :(得分:0)
我可以使用NSURLConnectionDelegate
方法修复它。我仍然很想知道为什么会崩溃,如果你有任何想法,请发表评论。