2012-11-07 2 views
0

게임의 알림 측면에서 작업 중이며 iOS에서 로컬 알림을 처리하는 방식에 문제가 있습니다. 로컬 알림 팝업하도록되어 내 응용 프로그램이 포 그라운드에서 실행되는 경우응용 프로그램이 포 그라운드 상태 일 때도 로컬 알림이 표시되는 이유는 무엇입니까?

If the application is running in the foreground, there is no alert, badging, or sound; instead, the application:didReceiveLocalNotification: method is called if the delegate implements it. 그러나

, 먼저 그 위임을 발사합니다 : 대리인 application:didReceiveLocalNotification의 문서에서

다음과 같은 상태 (비어 있음) 어쨌든 경고를 보여주십시오.

응용 프로그램이 포 그라운드에서 실행될 때 로컬 알림을 독점적으로 처리하는 방법을 알고 싶습니다. 그게 가능한가?

내가 필요한 이유 : 플레이어가 건물을 시작하면 건물이 완료되면 (최대 6 시간) 해당 지역의 알림이 생성됩니다. 그러나이 알림을 팝업으로 표시해야하는 경우 사용자가 게임을하는 경우 이미 건물이 완료되었음을 알 수 있으므로 표시하지 않으려합니다. 당신이 현재 알림 이미 해고 경우에도 경고를 표시 일축 cancelAllLocalNotifications:를 호출 할 경우

당신에게

+0

'application : didReceiveLocalNotification'에 alertview를 표시 하시겠습니까? –

+0

현재 델리게이트는 완전히 비어 있습니다. 그러나 델리게이트에서 해당 알림을 제거하려고 시도하고 더 이상 표시되지 않습니다. – Sanctus2099

답변

1

감사드립니다.

+0

그래도 그렇지만 추가로 필요할 수있는 다른 알림은 취소됩니다. 그러나 나는 그 하나만 취소 할 수 있습니다. 내가 그것을 확인하고 그것이 작동하는지 알려줄 것이다. – Sanctus2099

3
application:didReceiveLocalNotification: 

알림을 경고 또는 배지 또는 사운드로 표시할지 여부를 처리해야합니다. 따라서 앱이 백그라운드에있을 때 팝업 알림/배지/소리가 사용자에게 메시지를 알립니다 (건물이 완료되었음을 알리는 경우). 하지만 위임 메서드에서이를 무시하도록 선택할 수 있습니다.

편집 : 방법을 발사하고 응용 프로그램이 활성화되면, 알림을 전경에 잘못 때 나타납니다 것을

[[UIApplication sharedApplication] cancelLocalNotification:myNotification]; 

당신의 가정을 폐기 할 수 .

+0

그것은 가정이 아닙니다. 델리게이트를 지나간 후 ​​포 그라운드에서 실제로 팝업됩니다. 그 대리인의 알림을 취소하려고 시도해도 그것을 벗어난 후에도 여전히 표시됩니다. – Sanctus2099

+0

지금 내 편집을 확인하십시오. –

+0

그게 내가 시도한 것이고 그 통지는 여전히 나타납니다. – Sanctus2099

관련 문제