当用户开始关注或停止时,服务器将发送通知。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
当用户点击通知时,此块将被执行,我将收到通知信息。
目前我遇到问题,当有超过1个推送通知时,当用户点击第一个一个,然后第二个不会被执行。有时用户不会点击通知中心的通知项,但会直接打开应用,然后- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
完全没有执行。
有没有办法获取所有通知,以便我可以将信息存储到NSUserDefaults
?
答案 0 :(得分:-1)
案例1:
当应用程序不在内存中时(无论是在后台模式还是在前台模式下),用户都有两个选择
点击收到的通知
或点击应用图标直接打开应用
在这些情况下
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
调用,您可以使用此
获取通知(如果有)NSDictionary* remoteNotification=[launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
案例2:
但是当应用程序处于后台或前台模式时,
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
已执行,因此您可以根据收到的通知获取数据。 如果在这些模式下,用户也会尝试再次点击通知
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
被调用,您可以像处理案例1那样处理通知数据。
希望这会有所帮助。