在iOS 9中的某些硬件上使用NSURLSession NSURLSessionDownloadTask时出现EXC_BAD_ACCESS错误

时间:2015-07-23 17:30:20

标签: ios objective-c nsurlsession nsurlsessiondownloadtask ios-9-beta3

更新

适用于iOS9 Beta 5

原始问题

在调用完成处理程序之前,执行此行代码会导致在非主线程上的某些库代码之后不久发生EXC_BAD_ACCESS错误。

[[[NSURLSession sharedSession]  downloadTaskWithURL:[NSURL URLWithString: @"https://www.google.com/images/srpr/logo11w.png"]
                                  completionHandler:^(NSURL *location,
                                                      NSURLResponse *response,
                                                      NSError *error) {
                                      NSLog(@"At Download Completion Handler");   
                                  }] resume];

它发生在我的iPad型号为A1403的iOS 9 Beta 3和4上,但不是在iOS8.1上,在iOS 9和iOS 8.4上的iPad型号A1566上运行良好。

我已经记录了Apple的错误。

还有其他人有这个问题吗?有没有人看到解决方法?

试验:

  1. iOS 8.1 - 设备A1566 - 正常工作
  2. iOS 8.4 - 设备A1403 - 正常工作
  3. iOS 9 beta 4 - 模拟器 - 工作
  4. iOS 9 beta 4 - 设备A1566 - 正常工作
  5. iOS 9 beta 3 - 设备A1403 - 不工作
  6. iOS 9 beta 4 - 设备A1403 - 不工作
  7. Tander的测试:

    1. iOS 8.3 - 设备 - 正常工作
    2. iOS 9 beta 0 - 模拟器 - 工作
    3. iOS 9 beta 4 - 设备 - 正常工作
    4. 所以这个问题实际上只发生在iOS 9的设备A1403上......

1 个答案:

答案 0 :(得分:1)

So I have tested this bit of code for you on the following versions of iOS: 8,3 (device) 9.0 (Simulator) and 9.4 (Device) - the completionHandler always executes and the log is printed out on all test devices. Not a bug it would seem. Are you testing on an actual device(s) ?