在IOS9应用程序上工作,该应用程序在控制器( NSURLSessionDelegate )中执行后台URLSession。我是这样开始的:
self.session_data = [[NSMutableData alloc] init];
NSURL *url = [NSURL URLWithString:src];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLSessionConfiguration *backgroundConfigObject = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier: @"myBackgroundSessionIdentifier"];
self.session = [NSURLSession sessionWithConfiguration: backgroundConfigObject delegate: self delegateQueue: [NSOperationQueue mainQueue]];
self.download = [self.session dataTaskWithRequest: request ];
[self.download resume];到目前一切尚好。我实现了三种委托方法。“didReceiveData”首先被命名为“”,我存储数据。
- (void)URLSession:(NSURLSession *)session
dataTask:(NSURLSessionDataTask *)dataTask
didReceiveData:(NSData *)data{
NSLog(@"%s",__func__);
[self.session_data appendData:data];
}就在那之后,“didCompleteWithError”就被称为。从未调用“completionHandler”处理程序。
令人困惑的是,“didCompleteWithError”消息的实际错误对象为零。我也见过一些类似的未回答的问题。加载时,我不会离开控制器/视图。我需要将这个功能移到AppDelegate中吗?
https://stackoverflow.com/questions/36505444
复制相似问题