18 Replies
      Latest reply: Dec 19, 2016 12:51 AM by eskimo RSS
      BigSunil Level 1 Level 1 (0 points)

        I implemented a background downoading feature in my application, during test I discovered that background downloading is not resuming in iOS 10 only. Code worked well on previous version (below iOS 10). I could not find any solution for this issue.


        When Internet is down then in "didCompleteWithError" delegate I add this code to cancel by producing Resume Data


        -(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error{


        [self.fdi.downloadTask cancelByProducingResumeData:^(NSData *resumeData) {


                    taskResumeData = (NSData *)[[error userInfo]objectForKey:@"NSURLSessionDownloadTaskResumeData"];






        After Internet connection avaible I call this method - (NSURLSessionDownloadTask *)downloadTaskWithResumeData:(NSData *)resumeData; for resuming downloading using resumedData.



           downloadTask = [APP_DELEGATE.downloadManager.session downloadTaskWithResumeData:taskResumeData ];

           [downloadTask resume];





        After calling above method  we get this error:



        Error on cosole:


        2016-09-20 17:28:04.126863 BigFlix[3253:591639] -[NSKeyedUnarchiver initForReadingWithData:]: data is NULL

        2016-09-20 17:28:04.127684 BigFlix[3253:591639] -[NSKeyedUnarchiver initForReadingWithData:]: data is NULL

        2016-09-20 17:28:04.419939 BigFlix[3253:591639] Invalid resume data for background download. Background downloads must use http or https and must download to an accessible file.