APNS获得所有推送通知

时间:2015-06-11 09:54:22

标签: ios push-notification apple-push-notifications nsuserdefaults

Notifications badge

当用户开始关注或停止时,服务器将发送通知。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo当用户点击通知时,此块将被执行,我将收到通知信息。

目前我遇到问题,当有超过1个推送通知时,当用户点击第一个一个,然后第二个不会被执行。有时用户不会点击通知中心的通知项,但会直接打开应用,然后- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo完全没有执行。

有没有办法获取所有通知,以便我可以将信息存储到NSUserDefaults

1 个答案:

答案 0 :(得分:-1)

案例1:

当应用程序不在内存中时(无论是在后台模式还是在前台模式下),用户都有两个选择

  1. 点击收到的通知

  2. 打开应用
  3. 或点击应用图标直接打开应用

  4. 在这些情况下

     - (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那样处理通知数据。

    希望这会有所帮助。