1. 程式人生 > >iOS根據推送訊息彈出指定介面

iOS根據推送訊息彈出指定介面

iOS的推送收到推送訊息有三種情況

1:程式在已經退出(程式被系統殺死的時候)

2:程式在後臺掛起的時候(按Home鍵或者下拉檢視通知列表的時候)

3:程式在前臺執行的時候

當程式退出的時候,點選推送訊息會呼叫的方法是:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

if (launchOptions) {

     //launchOptions是推送訊息的主體,打印出來可以看到後臺推送過來的訊息,可以根據後臺的訊息進行操作

      [selfgetRemoteNotificationWithRemoteDic:remoteNotification];

   }

}

當程式沒有被系統殺死的時候,點選推送訊息會呼叫的方法是:

//應用收到遠端通知時的

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo

{

   //userInfo 是推送訊息的主體

//儲存後臺狀態下的推送訊息

//UIApplicationStateInactive----------應用程式在後臺掛起

if ([UIApplicationsharedApplication].applicationState == UIApplicationStateInactive) {

      [selfgetRemoteNotificationWithRemoteDic:userInfo];

   }elseif ([UIApplicationsharedApplication].applicationState == UIApplicationStateActive){

//應用程式在前臺的時候

   }

}

//點選推送訊息所做的處理--------模態彈出一張圖片

- (void

)getRemoteNotificationWithRemoteDic:(NSDictionary *)remoteDic

{

   //判斷根檢視有沒有模態彈出的圖片,如果有,先把那個模態彈出的檢視給移除,再載入

UCSRootViewController *ucsRVC = (UCSRootViewController *)[UIApplicationsharedApplication].keyWindow.rootViewController;

if (ucsRVC.presentedViewController) {

      [ucsRVC.presentedViewControllerdismissViewControllerAnimated:YEScompletion:nil];

   }

}