0

라이브 카메라 피드가 포함 된 viewController가 있습니다. 많은 앱과 마찬가지로 viewWillAppearviewWillDisappear 메쏘드에서 나는 카메라를 시작하고 멈 춥니 다. 많은 시간과 상황처럼ViewController 및 알림 센터 (뷰가 아닌 디자인 패턴 : p)

, 그것은 viewWillDisappear 항상라고 보인다과 willWillAppear 더 이상 호출되지 않습니다 여기

는 것입니다 (아이폰 OS 4.0 이후는 말할 것?) :이보기의 selectedVC 때 내 TabBar를 선택하면 사용자가 알림 센터를 표시하고 이 항상 호출되어 라이브 피드를 중지합니다. 그러나이 뷰가 닫히면 컨트롤러가 다시 라이브 콜백을받지 못합니다.

팁이 있습니까? Thx;)

답변

3

iOS5 이후로 viewWillAppear 및 viewWillDisappear에 대한 호출이 명백하게 변경되었습니다. 따라서 어떤 일이 일어나든지 관계없이 iOS4에서 그 일에 의존 할 수 있다면 iOS5에서 다른 방식으로 작동해서는 안됩니다. 그것은 나에게 이상하다. 그것은 시행 착오였다.

-viewWillAppear은 이전에 -viewWillDisappear도 호출 된 곳에서만 호출 될 수 있습니다.하지만 대부분의 모달보기/창에 대해서는 그렇지 않습니다. 알림 센터와 관련된 문제 일 수도 있습니다. 모달 창으로 처리 될 수도 있습니다.

그래서 불행히도 나는 당신에게 좋은 조언이 없습니다!

알림 센터를 닫을 때 applicationDidBecomeActive가 호출되는지 여부를 확인하고 응용 프로그램 대리인을 통해 논리를 연결해보세요. iOS App Programming Guide에서

- (void)applicationDidBecomeActive:(UIApplication *)application 

:

에서 iOS 5에서 배너를 표시 알림 경고 기반 알림을 수행하는 방식으로 응용 프로그램을 비활성화하지 않습니다. 대신 배너 이 앱 창의 상단 모서리에 배치되며 앱은 이전과 마찬가지로 번 터치 이벤트를 수신합니다. 그러나 사용자가 알림 센터를 표시하기 위해 배너를 열면 알림 기반 중단이 발생한 것처럼 앱이 비활성 상태로 이동합니다. 사용자가 알림 센터를 닫거나 다른 앱을 시작할 때까지 앱이 비활성 상태로 유지됩니다. 이 시점에서 앱 은 적절한 활성 또는 백그라운드 상태로 이동합니다. 사용자는 설정 앱을 사용하여 배너를 표시하는 알림을 구성하고 경고를 표시하는 을 구성 할 수 있습니다.

+0

Thx man, 그것이 내가 두려워했던 것입니다. iOS 4 이후로 변경되었지만 iOS5 일 수 있습니다. 그럼에도 불구하고 사라지는 모든 메서드가 호출되며 아무 것도 나타나지 않습니다. – Khal

1

방금 ​​AppDelegate ApplicationDidBecomeActive 메서드를 사용하여 문제를 해결했습니다. 그 후 수동으로 [selectedViewController viewWillAppear:YES];을 호출했습니다.