2012-10-27 5 views
0

내 앱에 작은 버그가 있습니다. 내 앱은 앱이 실행중인 특정 시간에 알림을 표시하고 버튼이 전환 될 때마다 알림을 모두 취소합니다. 내 문제는 사용자가 iOS의 멀티 태스킹 기능을 사용하여 앱을 닫을 때마다 알림이 계속 표시된다는 것입니다.사용자가 앱을 닫을 때 모든 로컬 알림 취소

- (void)applicationWillTerminate:(UIApplication *)application 
{ 
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
} 

문제는 내 앱은 앱이 실행 중일 때 알림을 표시해야하지만, 응용 프로그램이 종료 될 때 알림을 표시하지해야한다는 것입니다 :

나는 작동하지 않는 다음 코드를 추가했습니다. 위의 코드가 작동하지 않는 이유는 무엇입니까?

+0

봤어 :-)는 '고칠 수'해상도 오픈 버그 보고서를 닫을 수 있습니다 뜻? 앱이 도달 할 수있는 상태는 무엇입니까? – Mats

+0

실제로는 아니지만 applicationWillTerminate는 실제로 다른 것과 연결됩니다. 문제는 응용 프로그램이 백그라운드에서 실행 중이지만 IT가 닫혀있을 때 내 알림을 원합니다. – user1771336

+0

솔루션을 찾을 수있는 경우이 보고서를 업데이트하는 동일한 문제가 있습니다. –

답변

0

귀하의 앱이 앱 체인저에 표시 되어도 앱이 계속 실행 중임을 의미하는 것은 아니며 언제든지 닫힐 수 있습니다. 앱을 종료하는 OS 또는 앱을 종료하는 사용자를 구분할 수 없습니다.

아마도 버튼이 해결책일까요? 모든 알림을 취소하는 버튼? 또는 실제 백그라운드 작업 (약 5 분간 지속될 수 있음)을 실행 한 후 나중에 모든 알림을 중지합니다. 또는 다음 5-10 분 동안 알림을 예약하면됩니다.

무엇을 사용하고 계십니까?

+0

버튼을 추가했는데 (토글 켜기/끄기 버튼), 일부 사용자는 나에게이 사실을 알았습니다. 버그가 존재합니다. 이것이 내가이 문제에 대한 해결책이 있는지 궁금해하는 이유입니다. 하지만 이것은 불가능한 것 같습니다. – user1771336

0

정답은 현재 멀티 태스킹 응용 프로그램으로 수행 할 수 없다는 것입니다. 한 가지 해결책은 info.plist에 플래그를 설정하여 사용자가 다른 앱으로 전환 할 때 앱이 죽길 원한다는 것을 선언하는 것입니다. 그러면 willTerminate 메시지가 나타납니다 (그러나 죽게됩니다).

이 주제에는 엄청난 수의 스레드가 있습니다. Apple 문서를 인용하면 willTerminate 메시지가 나타나지 않습니다. here입니다. 나를 위해

이 그냥 지금 앱 평생 방법이 호출 될 때 당신이 문서에

+0

좋아요, 덕분에 사용자가 전환 할 때마다 내 앱이 죽는 것을 원하지 않아 그렇게 할 수 없다고 생각합니다. – user1771336

관련 문제