2011-03-21 7 views
1

iOS 4 이상에서 앱을 종료 할 때 진행 상황을 저장하지 않는 문제를 디버깅하고 있습니다. Xcode 4.0을 사용하여 시뮬레이터에서 실행 중이며 시뮬레이터에서 앱을 닫을 때 백그라운드 앱 표시 줄에서 제거한 다음 시뮬레이터에서 다시 실행하면 아래의 retval 줄에서 깨집니다.디버깅 중에 백그라운드에서 앱 제거

"프로그램이 신호를받은 : 스레드 1"
int main(int argc, char *argv[]) { 

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 
    int retVal = UIApplicationMain(argc, argv, nil, nil); 
    [pool release]; 
    return retVal; 
} 

그것은 인용 SIGKILL을 "나는 (엑스 코드 4를 사용하여도 나는 분 단지 새로운 해요) 그것을 만들기 위해 무엇을 아주 확실하지 않다

수 있습니다. 누군가 내가 백그라운드에서 앱을 붙이면 (그리고/또는 앱을 제거한 후에) 디버깅을 할 수 없는지 또는 진행 상황을 저장하면서 내 문제를 지적하는지 여부를 설명하는 누군가가 여기에 있습니다. 기본적으로 내 주요 위임자 수신 :

- (void)applicationWillTerminate:(UIApplication *)application 

답변

3

applicationDidEnterBackground:이 아니라 applicationWillTerminate:으로 저장해야합니다. 배경에있는 앱이 닫히면 applicationWillTerminate:을 보내지 않고 살해됩니다 (이것은받는 시그널입니다). 그러나 멀티 태스킹을하지 않고 장치 또는 버전을 지원하는 경우 해당 상황에서 사용되므로 applicationWillTerminate:으로 저장해야합니다.

관련 문제