2015-02-04 3 views
3

iOS 앱을 테스트 할 때 알림 스타일 기본 설정을 배너 스타일로 설정합니다. 내 앱이 포 그라운드에 있지 않을 때 (배경 또는 닫힘) 작동합니다. 그러나 앱이 포 그라운드에있는 경우 알림은 UIAlertView으로 표시됩니다.앱이 포 그라운드 일 때 알림 스타일을 푸시

Apple의 디자인입니다. 아니면 내가 적용 할 수있는 몇 가지 설정이 누락 되었습니까?

답변

0

AppDelegate.m 안에 application:didReceiveRemoteNotification:fetchCompletionHandler:을 사용할 수 있습니다. 이렇게하면 원하는 방식으로 알림을 처리 할 수 ​​있습니다. 때로는 UIAlertView 내부에 아무것도 표시 할 필요가 없지만 특정 UILabels 또는 그 이상을 업데이트하려고합니다. 에 대한 자세한 정보를 얻을 수있는 userInfo도 있습니다. 당신은 또한 당신이 순간에있어 어떤 모드에서 식별 할 수 The Documentation says:

사용을

if (application.applicationState == UIApplicationStateInactive 
    || application.applicationState == UIApplicationStateBackground ) { 

} else { 

} 

이 방법은 앱 들어오는 원격 알림을 처리 할 수 ​​있습니다. 응용 프로그램 : didReceiveRemoteNotification : 메서드 (응용 프로그램이 포 그라운드에서 실행될 때만 호출되는 )와는 달리 응용 프로그램이 포 그라운드 또는 배경에서 실행될 때 시스템 이이 메서드를 호출합니다. 또한 원격 알림 백그라운드 모드를 사용하도록 설정 한 경우 시스템에서 앱을 실행하거나 일시 중지 상태에서 깨어나서 푸시 알림이 도착하면 백그라운드 상태로 전환합니다. 그러나 사용자가 강제로 앱을 종료 한 경우 시스템에서 자동으로 앱을 실행하지 않습니다. 이 경우 사용자는 앱을 다시 실행하거나 기기를 다시 시작해야 앱이 자동으로 앱을 다시 시작합니다.

+0

제안 해 주셔서 감사합니다.하지만이 방법이 가능하다면 'UIAlertView'대신 배너로 표시되도록 알림을 설정하는 데 어떻게 도움이 될까요? – artooras

+0

이것 좀보세요. http://stackoverflow.com/a/1554831/1141395. 알림이 처리되는 방법은 귀하에게 달려 있습니다. 어쨌든'UIAlertView'가 나타났습니다. –

+0

OK, 당신이 지적한 대답은 제가 직접'UIAlertView'를 표시 할 수 있음을 암시합니다. 하지만 이미 경고보기를 표시하고있는 반면 배너 스타일을 선호합니다. 앱이 포 그라운드에 있지 않을 때와 같습니다. 이 작업을 수행 할 수 있습니까? – artooras

0

당신이 당신의 ApDelegate의 didReceiveRemoteNotification: 방법에 경고를 보여 쓴 한 않는 한 그것은, 안 "응용 프로그램이 포 그라운드에있을 때 는 알림 UIAlertView.로 나타납니다." 푸시 알림을 받으면 메서드가 호출됩니다.

토스트 알림을 표시하려는 경우 (앱이 포어 그라운드에있는 동안)이를 확인할 수 있습니다. Get push notification while App in foreground iOS

관련 문제