Life cycle of app - when app is in terminated and

2019-02-04 03:54发布

问题:

What would be life cycle of app? when app is in terminated state and push kit payload comes.

First of all Pushkit delegate methods will work or AppDelegate methods will work.

Can someone describe sequence of methods getting called in such scenario?

Appreciate your answer.

Thanks in advance.

回答1:

Once push kit payload reaches to iOS device. Whole iOS app becomes active in background ( Take a note - Application would not invoke or come in foreground ) , just app will become active in background.

First of all

didFinishLaunchingWithOptions // will invoke

then

didReceiveIncomingPushWithPayload // payload method gets invoke

then if you have local notification

didReceiveLocalNotification  // receive local notification

then

handleActionWithIdentifier // handler method if you have action buttons ( local )

then if you have remote notification

didReceiveRemoteNotification // receive remote notification

then

handleActionWithIdentifier // handler method if you have action buttons ( remote ) 

Pushkit mostly beneficial in VOIP related apps, when silent push notification comes and work accordingly.

When mostly required to remove 1 particular notification when particular notification comes. using pushkit we can schedule local notifications and while getting another push kit notification we can remove 1st local notification without end users interaction. otherwise app would not be able to remove notification without user's interaction.

Thanks @Hitesh.



回答2:

Life cycle of app - when app is in terminated and push kit payload comes

  • When you receive a push payload then application became active for 20-30 second in terminate state then call following method.

  • didFinishLaunchingWithOptions(Here perform some intilization operation intiliaze window and rootviewcontroller and execute other code.)

  • didReceiveIncomingPushWithPayload

  • In this 20-30 second application became active and also you can get a active state of application in the didReceiveIncomingPushWithPayload