【iOS】プッシュ通知時に通知メッセージから起動した場合としない場合の違い

yamagenii 1,843views 更新:2015年9月10日

プッシュ通知時に呼ばれるdidReceiveRemoteNotificationはプッシュ通知時とプッシュ通知からタッチして起動したとき両方とも呼ばれます

違いはapplication.applicationStateの値がactive,Inactive,backgroundかに違いがあります

プッシュ通知からタッチして起動しようとしたときAppDelegate : applicationWillEnterForegroundが呼ばれて、

application.applicationStateがInactiveになるので条件分岐で処理を指定できます

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {

      if(application.applicationState == UIApplicationState.Inactive){
            //通知タップ時の起動処理
      }else if (application.applicationState == UIApplicationState.active){
            //起動時
      }else{
            //Background
      }
}

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません