2016-01-20 46 views
2

我杀了从后台应用程序打开调用。杀死应用程序后,我发送一个推送通知。我对AppDelegate函数有两个疑问,将会被称为:
。会叫didFinishLaunchingWithOptions吗?
。如果是的话,会先叫didFinishLaunchingWithOptions或叫didReceiveRemoteNotification先?是didFinishLaunchingWithOptions当应用程序从推送通知

我无法测试此场景,因为无法调试应用程序从推送通知打开的事实。

回答

5

如果您的应用程序在后台模式didFinishLaunchingWithOptions方法不会被调用仅didReceiveRemoteNotification方法被称为

而且如果您的应用程序比didFinishLaunchingWithOptions方法杀死被称为didReceiveRemoteNotification方法不会被调用。

+1

那么,当应用程序被杀死,那么didReceiveRemoteNotification中的代码正在接收推送通知执行。 – Nitish

+0

如果didReceiveRemoteNotification不叫,我怎么能确定PP从推送通知开的呢? – Nitish

+0

另外,有没有一些方法来测试代码? – Nitish

2

我从背景中杀了应用程序。

我想你想说你已经从托盘中删除了应用程序。如果是这样,

  1. 是的,在这种情况下,它会接到电话。
  2. didReceiveRemoteNotification不会在这个时候打电话。如果你的应用程序在后台运行,它只会打电话。
+0

那么,当应用程序被杀死,那么didReceiveRemoteNotification中的代码正在接收推送通知执行。 – Nitish

+0

如果didReceiveRemoteNotification未被调用,那么如何识别pp是否从推送通知中打开? – Nitish

+0

另外,有没有办法在代码上测试这个? – Nitish

相关问题