2011-08-21 4 views
1

나는 설정된 UILocalNotification이 있고, 지금까지 내가 그것을 볼 수있는 나는 5 개 가지 시나리오가 있습니다통지 결과 응용 프로그램의 상태를 어떻게 확인할 수 있습니까?

  1. 앱이 실행되고 있지, 사용자는 알림을 볼 선택을, 그래서 응용 프로그램을 시작합니다.
  2. 앱이 실행 중이 아니며 사용자가 알림을 닫고 나중에 앱을 엽니 다.
  3. 앱이 백그라운드에서 실행 중이므로 사용자가 알림을 보려고 선택하므로 앱이 포 그라운드로 이동합니다.
  4. 앱이 백그라운드에서 실행 중이면 사용자가 알림을 닫고 앱을 열어 나중에 포 그라운드로 가져옵니다.
  5. 앱이 포 그라운드에서 실행 중입니다.

어떻게이 5 가지 시나리오를 처리합니까?

답변

2
  1. application:didFinishLaunchingWithOptions:에 코드를 넣습니다. 에서 NSDictionary 작업을 확인하면 알림에 대한 정보를 찾을 수 있습니다.

  2. 로컬 알림이 여전히 활성화되어 있고 적절한 조치를 취한 경우 application:didFinishLaunchingWithOptions:에 다시 체크인 할 수 있습니다.

  3. 활성 지역의 통지가있는 경우 바로 확인, 다시 같은 장소 applicationWillEnterForeground:

  4. 에 코드를 넣습니다.

  5. 여기에서 application:didReceiveLocalNotification:을 확인하여 사용자에게 알릴 수도 있습니다.

0

당신이 뭘하고 있는지 잘 모르겠지만 다음 질문에 답할 수 있습니다. documentation에서

:

시스템이 로컬 알림을 제공

는 몇 가지 응용 프로그램 상태 및 알림의 유형에 따라 발생할 수 있습니다. 응용 프로그램이 가장 앞면에 보이지 않는 경우 시스템은 경고 메시지를 표시하고 응용 프로그램에 배지를 지정하며 알림에 지정된 내용을 재생합니다. 알림이 알림이고 사용자가 작업 버튼을 탭한 경우 (또는 장치가 잠겨있는 경우 동작 슬라이더를 드래그하여 드래그하면) 응용 프로그램이 시작됩니다. 응용 프로그램 : didFinishLaunchingWithOptions : 메서드에서 응용 프로그램 대리자는 전달 된 옵션 사전에서 UIApplicationLaunchOptionsLocalNotificationKey 키를 사용하여 UILocalNotification 개체를 가져올 수 있습니다. 대리인은 알림의 속성을 검사 할 수 있으며 알림에 userInfo 사전에 사용자 지정 데이터가 포함되어 있으면 해당 데이터에 액세스하여 적절하게 처리 할 수 ​​있습니다. 반면에 로컬 알림이 응용 프로그램 아이콘 만 배지하고 응답하는 사용자가 응용 프로그램을 시작하면 application : didFinishLaunchingWithOptions : 메서드가 호출되지만 UILocalNotification 객체가 옵션 사전에 포함되어 있지 않습니다.

시스템에서 알림을 전달할 때 응용 프로그램이 가장 먼저 보이고 표시되면 경고가 표시되지 않고 배지 아이콘이 표시되지 않고 사운드가 재생되지 않습니다. 그러나 응용 프로그램 : didReceiveLocalNotification : 응용 프로그램 대리인이 구현 한 경우 호출됩니다. UILocalNotification 인스턴스가이 메서드에 전달되고 대리자는 해당 속성을 확인하거나 userInfo 사전에서 모든 사용자 지정 데이터에 액세스 할 수 있습니다.

관련 문제