【发布时间】:2014-05-31 03:06:00
【问题描述】:
当我的应用在后台和iOS 收到通知时,使用后键入通知进入我的应用,iOS 会调用哪个方法?因为在用户点击通知进入我的应用后,我需要打开一些视图控制器。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
上述方法无法区分我的应用是从后台打开的。
【问题讨论】:
当我的应用在后台和iOS 收到通知时,使用后键入通知进入我的应用,iOS 会调用哪个方法?因为在用户点击通知进入我的应用后,我需要打开一些视图控制器。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
上述方法无法区分我的应用是从后台打开的。
【问题讨论】:
如果应用在前台中收到通知,application:didReceiveRemoteNotification: 将被调用。
但是,当应用程序处于后台并通过点击通知启动时,application:didFinishLaunchingWithOptions: 会被调用,启动选项具有名为 UIApplicationLaunchOptionsRemoteNotificationKey 的键。此键的值将是带有远程通知负载的NSDictionary。
希望这能回答你的问题。
PS。关于UIApplicationDelegate Launch Options的一篇不错的文章
【讨论】: