2011-09-02 1 views
0

NSURLConnection 비동기 요청이 돌아 왔을 때 앱이 죽거나, 죽어 있거나, 잠 들어 있거나 종료되는 과정은 어떻게됩니까?NSURLConnection 비동기 요청이 다시 시작되기 전에 잠자기 또는 중단 된 경우 어떻게됩니까?

내 비동기 함수가 프로그램 데이터가 유효하다고 가정하기 전에 "프로그램이 종료 중입니다."라는 플래그를 최소한 유지하는 것이 좋습니다.

감사합니다.

답변

0

iOS 4.0 이상에서는 사용자가 앱을 닫으면 일시 중지 상태가됩니다. 그렇지 않으면 사용자가 앱을 다시 열 때까지 대리자 콜백이 실행되지 않습니다. 콜백에 NSLog를 작성하여 자신을 테스트 할 수 있습니다. 그런 다음 테스트 장치에서 앱을 실행하고 연결이 시작된 후에 앱을 닫으십시오. 잠시 기다렸다가 응용 프로그램을 다시 열고 (여전히 Xcode에서 '실행 중') 대리인 콜백이 호출 될 때 지켜보십시오. 앱이 사용자에 의해 폐쇄 된 후 연결 (들)이 계속 실행하려는 경우

//somewhere just after you start the async connection 
NSLog(@"Connection started..."); 

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { 
NSLog(@"Connection failed with error - %@",error); 
} 

- (void)connectionDidFinishLoading:(NSURLConnection *)connection { 
NSLog(@"D- Connection finished loading"); 
} 

는, 다음은 iOS 용 응용 프로그램 프로그래밍 가이드에서 'Executing Code in the Background'를 통해 읽을 수있다.