AFURLSessionManager를 사용하여 백그라운드 작업을 구현하는 데 문제가 있습니다. NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:
을 사용하고 편리한 메소드를 사용하여 POST 요청을 작성하여 BaseURL 및 SessionConfiguration을 사용하여 새 AFHTTPSessionManager를 만듭니다.백그라운드 작업에서 AFNetworking 2.0 사용
내 앱을 실행하면 첫 번째 요청은 정상적으로 전송되지만 두 번째 요청은 A background URLSession with identifier {ID} already exists!
을 반환하며 앱이 다운됩니다.
나는 애플의 WWDC 2013 비디오를 본 적이 그들은 당신이 그러나 AFURLSessionManager에 대한 session
속성과 같은 읽기 전용이 설정되어
dispatch_once(&onceToken, ^{
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfiguration:@"com.yourcompany.appId.BackgroundSession"];
session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
});
를 사용하여 한 번만 세션 구성을 작성하는 것이 좋습니다 및 방법은 나를 위해 존재하지
self.session = [NSURLSession sessionWithConfiguration:self.sessionConfiguration delegate:self delegateQueue:self.operationQueue];
내가 뭔가를 잘못하고 있어요 같은 느낌,하지만 어떻게 다른 내가 백그라운드 작업을 지원할 수 있습니다 사용자 정의 NSURLSession 만 NSURLSessionConfiguration, 그이 AFURLSessionManager:init
내부에 생성을 전달하는 AFNetworking 사용 하시겠습니까?
언제든지 invalidateAndCancel을 호출해야합니까? –
나는 할 수있을 것이라고 생각하지만, 필연적 인 필요가 없다면 걱정하지 않을 것이다. 내게 조숙 한 최적화 같은 느낌 ... – Rob
늦은 코멘트 : 내 앱은 공유 된 'AFHTTPSessionManager' 객체를 사용하여 정기적으로 다운로드 (사용자 프롬프트)를하고 배경 업데이트를 추가하고 싶습니다. 이것을 위해 또 다른'AFHTTPSessionManager'를 생성해야합니까? 아니면 'NSURLSessionConfiguration'을 즉시 변경할 수 있습니까? – Koen