为什么我要在didFinishLaunchingWithOptions中使用UIApplicationLaunchOptionsRemoteNotificationKey?

时间:2015-11-08 06:56:51

标签: ios objective-c push-notification apple-push-notifications uiapplicationdelegate

我想知道为什么我只能在didFinishLaunchingWithOptions中使用UIApplicationLaunchOptionsRemoteNotificationKey?当我使用didReceiveRemoteNotification时不需要它。我可以理解如何获得推送通知并处理它,但是如何获取推送信息是didFinishLaunchingWithOptions和didReceiveRemoteNotification之间的区别。我想知道深刻的原因。

1 个答案:

答案 0 :(得分:4)

传递给 return new Ingredient ( *this ); ^~~~~~~~~~~~~~~~~~~~~~~~ 的选项不仅包括推送远程通知数据。一个部分清单,在我的头顶:

  • 远程通知数据
  • 本地通知数据
  • 用于从链接或其他应用中打开应用的网址

如果应用程序已在运行*,则会调用这些活动的特定委托方法。如果应用程序由于其中一种机制而启动,则相关数据将在application:didFinishLaunchingWithOptions:中传递。这些键用于告诉您哪种事件触发了启动以及哪种数据位于options

*处理远程通知的后台处理是一种特殊情况。即使正在启动应用程序来处理它们,也会调用特定的委托方法。