我想知道为什么我只能在didFinishLaunchingWithOptions中使用UIApplicationLaunchOptionsRemoteNotificationKey?当我使用didReceiveRemoteNotification时不需要它。我可以理解如何获得推送通知并处理它,但是如何获取推送信息是didFinishLaunchingWithOptions和didReceiveRemoteNotification之间的区别。我想知道深刻的原因。
答案 0 :(得分:4)
传递给 return new Ingredient ( *this );
^~~~~~~~~~~~~~~~~~~~~~~~
的选项不仅包括推送远程通知数据。一个部分清单,在我的头顶:
如果应用程序已在运行*,则会调用这些活动的特定委托方法。如果应用程序由于其中一种机制而启动,则相关数据将在application:didFinishLaunchingWithOptions:
中传递。这些键用于告诉您哪种事件触发了启动以及哪种数据位于options
。
*处理远程通知的后台处理是一种特殊情况。即使正在启动应用程序来处理它们,也会调用特定的委托方法。