2014-04-22 2 views
4

응용 프로그램이 종료되면 다운로드 파일 resumeData에 액세스하려고합니다. 두 willEnterBackgroundwillTerminate에서 메서드를 호출하려고 시도했습니다 appDelegate.cancelByProducingResumeData를 호출 할 때 이력서 데이터는 항상 nil입니다.

뷰 클래스에서 resumeData 값에 액세스 할 수 있지만이 메서드를 호출 할 때 downloadSession이 자동으로 닫히는 것이 문제입니다.

+0

. 출처 : https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html – Larme

답변

1

cancelByResumingData:을 호출하면 resumeData가 생성되고 그 후에는 URLSessionTask-didCompleteWithError이 호출됩니다. 앱이 일시 중지 된 위치를 감지하기위한 플래그를 설정하고 다운로드를 취소하지 않고 resumeData을 저장할 수 있습니다.

다음과 같이 응용 프로그램을 다시 시작할 때 나중에 다시 시작할 수 있습니다 : didEnterBackground`이, 당신은 당신의 일을 마무리하기 위해 "5 초"가, 어쩌면 그 관련이`에서

self.downloadTask = [self.session downloadTaskWithResumeData: objFile.resumeData]; 
[self.downloadTask resume]; 

// Here objFile is an object stored in core data 
관련 문제