2016-12-01 5 views
6

앱이 배경을 입력하면 iOS에서 자동으로 캡처 한 스크린 샷을 변경하려고합니다.ios 자동 화면 캡처는 언제 실행됩니까?

그러나이 스크린 샷을 찍을 때 나는 완전히 확신 할 수 없습니다. 예를 들어

:

응용 프로그램에 다음과 같은 메소드가 호출되는 동안 알림 표시 줄을 다운로드받을 경우

:

- (void) applicationWillResignActive:(UIApplication *) application { 
} 

또한 만약 당신이 더블 탭 홈 버튼 동안 응용 프로그램 같은 방법 호출됩니다. 또한 경고보기가 표시되면 'applicationWillResignActive'가 호출됩니다.

그러나이 경우

- (void) applicationDidEnterBackground:(UIApplication *) application { 
} 

의 모두

가 호출되지 않습니다.

내 질문은 응용 프로그램이 배경을 입력하지 않더라도 applicationWillResignActive 호출 후 캡쳐 화면이 있습니까? 아니면 iOS는 applicationDidEnterBackground 다음에 캡쳐 화면을 캡처합니까?

답변

3

당신은, 요약, here 살펴보세요 applicationDidEnterBackground :와에서 반환하기 전에보기를 변경할 수 있습니다 :

+0

심지어는 기본 소스로 직접 이동이 오버레이하게되면 앱이 배경 에 들어가기 전에 : https://developer.apple가. co.kr/library/content/documentation/iPhone/Conceptual/iPhoneOS 프로그래밍 가이드/BackgroundExecution/BackgroundExecution.html – Tommy

1

예.

- (void) applicationWillResignActive:(UIApplication *) application { }

은 사용자가 알림 표시 줄을 아래로 끌어 때 호출 또는 당신은 홈 버튼을 두 번 클릭하면됩니다. 운영 체제가 중요한 정보를 캡처하지 못하도록하려면 여기에서해야합니다. 한 가지 해결 방법이 될 수 있습니다

  1. 설정 흐린 화면 오버레이 응용 프로그램이 활성화 삭제이 오버레이이 같은

뭔가하게되면 앱이 백그라운드에서

  • 를 진행하기 전에 :

    -(void)applicationWillResignActive:(UIApplication *)application 
    { 
        imageView = [[UIImageView alloc]initWithFrame:[self.window frame]]; 
        [imageView setImage:[UIImage imageNamed:@"blurryImage.png"]]; 
        [self.window addSubview:imageView]; 
    } 
    

    그런 다음 응용 프로그램이 포 그라운드로 들어가기 전에이 오버레이를 제거하십시오.

    - (void)applicationDidBecomeActive:(UIApplication *)application 
    { 
        if(imageView != nil) { 
         [imageView removeFromSuperview]; 
         imageView = nil; 
        } 
    } 
    
  • +0

    그건 내 질문에 대답하지 않습니다. 그 상황에서 applicationWillResignActive가 호출됩니다. 그러나 언제 앱이 스크린 샷을 찍습니까? applicationWillResignActive 또는 applicationDidEnterBackground? – lostintranslation

    +0

    알겠습니다. 'AppDelegate.m'에서 이러한 방법으로 ** Apple **이 제공 한 문서를 보시면 답변을 찾을 수 있습니다. 그건 그렇고, 정확히 말하면,'applicationWillResignActive'가 여러분의 질문에 대한 답이되어야합니다. – nayem

    0

    은 알림 표시 줄을 끌어 올 때 또는 홈 단추를 두 번 클릭하는 경우에도 호출됩니다. 운영 체제가 중요한 정보를 캡처하지 못하도록하려면 여기에서해야합니다. 한 가지 해결 방법이 될 수 있습니다

    설정 흐린 화면 오버레이 응용 프로그램이 활성화 삭제