2011-11-21 3 views
0

applicationWillResignActive을 어떻게 시뮬레이트 할 수 있습니까?applicationWillResignActive 메시지를 시뮬레이트하는 방법은 무엇입니까?

화면 잠금, 주 메뉴로 이동, 전화 통화 시뮬레이션 - 아무도 도움이되지 않은 것 같습니다. 아래에 나열된 나는이 메시지에 가입하고 희망을 발생 때 통지 방법에 전송됩니다 :

이 경우에는 내가 좀 더 당신을 말할 수 있도록, 일어나지 않을 일을 기대

UIApplication *app = [UIApplication sharedApplication]; 

[[NSNotificationCenter defaultCenter] addObserver:self 
       selector:@selector(applicationWillResignActive:) 
       name: UIApplicationWillResignActiveNotification object:app]; 

답변

1

귀하 코드가 유효합니다, 그것은 나를 위해 작동합니다. 화면을 잠 그거나 홈 단추를 누르면이 알림이 게시됩니다.

* (장치가 멀티 태스킹을 지원하지 않거나 당신이 당신의 *info.plist에 yes로 설정 "Application does not run in background"속성이있는 경우.이 경우는 바로 "UIApplicationWillTerminateNotification"통지에 갈 경우이 한 가지주의해야 할 점은)

따라서 두 가지 가능성을 배제하십시오.

1) 귀하의 addObserver 코드가 호출되지 않습니다. 잘못된 방법입니다.

이 시도 테스트하려면 : 관찰자 방법이 제대로 호출되지 않는

UIApplication *app = [UIApplication sharedApplication]; 
[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(applicationWillResignActive:) 
              name:UIApplicationWillResignActiveNotification 
              object:app]; 
NSLog(@"Observer added"); 

2). 어느 at 선택자와 같은 방법이 필요합니다.

이 시도 테스트하려면 : 당신이 행동에 표시 할 경우

-(void)applicationWillResignActive:(NSNotification *)notification{ 
    NSLog(@"applicationWillResignActive"); 
} 
  • 그냥 추가 지점으로,이 통지되는 호출 때있다. AppDelegate 클래스에서 각각 -application... 메서드에 NSLog(@"%@", NSStringFromSelector(_cmd)); 행을 넣고 호출하면 해당 메서드가 기록됩니다. 그 (것)들을 알게되는 길에 좋은 손이다.
+0

"응용 프로그램이 백그라운드에서 실행되지 않음"속성을 가장 잘 찾는 방법은 무엇입니까? – JAM

+0

왼쪽에서 끝까지 프로젝트를 클릭하십시오. 그런 다음 다음 창에서 타겟이 아닌 프로젝트를 선택하십시오. 그런 다음 정보 탭을 클릭하십시오 (더 자세한 설명이 필요하지 않음). 'Custom iOS Target Properties'하위 제목을 확인하십시오. 그것은있을 것입니다. 또는 .. 프로젝트 폴더를 파헤 치고 yourProjectNameHere-info.plist 파일을 찾을 수 있습니다. – NJones

+0

내 답변을 수락 해 주셔서 감사합니다.하지만 여전히 문제가있는 "응용 프로그램이 백그라운드에서 실행되지 않습니다"라는 것이 궁금합니다. – NJones

관련 문제