머리글 (길이 및 유형)을 확인한 후에 특정 파일 (전부는 아님)을 다운로드해야하지만 동일한 작업에 있어야합니다. 새 작업/요청 만들기 (짧은 시간에 많은 연결로 인해 서버에서 오류가 발생하기도 함). 그래서 내가 작업 시작 : 이후,NSURLSessionDataTask를 백그라운드 지원이 포함 된 다운로드 작업으로 변환
- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask
didReceiveResponse:(NSURLResponse *)response
completionHandler:(void (^)(NSURLSessionResponseDisposition disposition))completionHandler
{
if(XXXXXXXXXX){
NSLog(@"transform into a download");
completionHandler(NSURLSessionResponseBecomeDownload);
}else{
NSLog(@"Keep loading normally");
completionHandler(NSURLSessionResponseAllow);
}
}
그러나 그런 다음
NSURLSessionConfiguration *configuratione = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *sessione = [NSURLSession sessionWithConfiguration:configuratione delegate:self delegateQueue:nil];
NSURLSessionDataTask *datatask = [sessione dataTaskWithRequest:request];
[datatask resume];
을, 그 첫 번째 응답을 수신 할 때이 대표로 다운로드 작업으로 데이터 작업을 변환 할 수 있습니다 알고 데이터 작업은 BackgroundSessionConfiguration을 사용할 수 없습니다. 새로 만든 다운로드가 동일한 기본 세션 구성을 사용한다고 가정합니다. 백그라운드에서 해당 다운로드를 계속 실행하려면 어떻게해야합니까? 세션을 백그라운드로 변경하는 방법이 있습니까? 아니면 접근 방식이 될 것인가?
귀하의 솔루션은 백그라운드 구성과 상당히 다르며 다운로드는 OS 관리 프로세스에 있으며 백그라운드에서 실행 중이며 OS에 의해 종료 된 경우에도 계속됩니다. –
다운로드 작업이 데이터 작업보다 훨씬 강력하다고 말할 수 있습니까? 왜냐하면 ** (1) ** 앱을 연속해서 실행하면 다운로드를 재개 할 수 있기 때문입니다. ** (2) ** 앱을 다운로드 한 상태로 유지하는 것이 활성 상태가 아니기 때문에 사용자에게는 매력적입니다. – NSPratik