은행 응용 프로그램을 개발 중이며 클라이언트 요구 사항이 앱이 백그라운드에서 실행될 때 화면 스냅 샷을 표시하거나 저장하지 않아야합니다. 버튼을 클릭). 배경 방법으로 오버레이보기를 추가하고 앱이 다시 포어 그라운드에 올 때 해당보기를 제거했습니다. 홈 버튼을 클릭하면 완벽하게 작동하며 1 초 또는 2 초 정도 기다렸다가 다시 홈 버튼을 두 번 클릭합니다.applicationDidEnterBackground 메서드가 호출되지 않습니다. 응용 프로그램이 백그라운드에서 실행될 때 applicationWillResignActive도 수행되지 않았습니다.
내 문제는입니다. 홈 버튼을 한 번 클릭하고 응용 프로그램 아이콘이 표시되기 직전까지 몇 밀리 초를 기다렸다가 다시 홈 버튼을 두 번 클릭하면 멀티 태스킹보기에서 화면 스냅 샷이 표시됩니다.
이 문제를 분석했을 때이 시나리오에서는 백그라운드 위임 메서드가 호출되지 않아이 경우 오버레이 뷰가 추가되지 않는다는 것을 알게되었습니다.
단계 재현하기 :
- 응용 프로그램의 appDidEnterBackground 방법에 (말할 수 있습니다 색상 동안 함께) 오버레이보기를 추가합니다.
- willEnterForeground 메소드에서 오버레이보기를 제거하기위한 코드를 추가하십시오.
- 이제 응용 프로그램을 실행하십시오.
- 홈 버튼을 한 번 누릅니다.
- 홈 버튼을 한 번 누른 후 (응용 프로그램 아이콘이 표시되기 직전) 홈 버튼을 두 번 클릭하여 멀티 태스커보기를 볼 수 있습니다.
- 오버레이보기 대신 응용 프로그램 스크린 샷이 표시됩니다.
예상 결과 : 오버레이 뷰가 추가되어 있어야하지만, 당신은 대신 응용 프로그램 스냅 샷의 것을 볼 수 있어야합니다.
실제 결과 : 당신은 멀티 TASKER보기에서 응용 프로그램의 스크린 샷을 볼 수 있습니다
버전 : 아이폰 OS 7
에 제거하기', 오버레이 이동'에 - (무효) applicationWillResignActive :' – staticVoidMan
@staticVoidMan 나는 그 일을 또한 시도했다. .. 그러나 도움이 아니었다. 두 메서드는 호출되지 않았다 : ( – anshul
흠 ... 그것은 screenshot 일이 분할 초 이전에 일어나야합니다 것 같습니다 – staticVoidMan