2013-12-12 1 views
3

iOS7에서 iOS 응용 프로그램에 대한 것입니다. 활성 응용 프로그램이 멀티 태스킹 디스플레이에서 종료 될 때 appDelegate 메서드 "applicationDidEnterBackground"가 두 번 호출 된 것처럼 보입니다. 누군가가 이미 그것에 대해 알고 있다면, 나는 그것이 일어나는 이유를 알려주십시오. (iOS7 버그 또는 사양입니까?)iOS7에서 applicationDidEnterBackground가 두 번 호출됩니다.

+0

strage, 방금 한 번만 호출하면 되나요? – wormlxd

+2

홈 버튼을 눌러 메소드를 한 번만 호출 할 수 있지만 MULTITASKING DISPLAY에서 ACTIVE 응용 프로그램을 종료하면 메소드가 호출됩니다. 다시 한번. 나는 그것이 kid0가 말했듯이 iOS7 버그라고 생각한다. – cafedeichi

+0

이것은 내 앱에서도 발생합니다. 나는 이것이 두 번 부름받을만한 이유가 없음을 알 수있다. 메소드가 멱등수인지 확인해야 할 필요가 있습니다. 이러한 메소드는 당연히 그렇게해야합니다. –

답변

4

내 테스트에서는 응용 프로그램이 종료 될 때 applicationDidEnterBackground가 두 번 호출됨을 보여줍니다. 기본 템플릿 상태의 주석도 앱이 배경 실행 (테스트 한 앱은 그렇지 않음)을 지원하는 경우 종료시에만 발생해야하며, 한 번의 호출만으로 충분하다고 생각합니다. 아마도 버그, iOS 7의 첫 번째가 아닌

+0

thx :) 대신 다른 대리자 메서드 "applicationWillResignActive"를 사용할 것입니다. 잘 작동하는 것처럼 보입니다. – cafedeichi

+0

이것을 확인할 수 있습니다. 예상치 못한 입력이 발생하면 내 응용 프로그램 상태 시스템이 명시 적으로 충돌합니다. Lo와 보라, 나는 Crashlytics를 경유하여 들판에 나타나는이 충돌을 본다 :) –