【问题标题】:Missing push notifications缺少推送通知
【发布时间】:2011-04-29 17:12:09
【问题描述】:

我的 iPhone 应用程序的代理已全部设置推送通知:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {    
    for (id key in userInfo) {
        NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]);
    }    
}

现在,我启动它,然后按主页按钮暂停。然后我向设备发送通知,并收到通知。出现一个带有两个按钮的对话框 - “关闭”和“查看”。现在,当我单击“查看”时,应用程序会恢复,并且 didReceiveRemoteNotification 会发送给委托人。

但如果我点击“关闭”,应用程序仍会在后台运行。如果我随后手动启动应用程序,则不会发送“didReceiveRemoteNotification”和“didFinishLaunchingWithOptions”。那么 - 我的有效载荷在哪里?这种情况下如何获取payload?

【问题讨论】:

    标签: iphone ios4 apple-push-notifications


    【解决方案1】:

    如果用户关闭通知并使用应用程序图标启动应用程序,您将无法再获得有效负载。然后它会永远丢失。

    这在“处理本地和远程通知”部分的http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html 中有描述。

    另外请注意,服务器只为您的应用为用户保存一个通知。如果设备处于离线状态并且未收到您的通知,但您发送了另一个通知,则第一个将永远不会到达用户,因为它会替换第一个。

    【讨论】:

      猜你喜欢
      • 2015-11-28
      • 2015-11-21
      • 2016-07-09
      • 1970-01-01
      • 2015-12-01
      • 2015-03-12
      • 1970-01-01
      相关资源
      最近更新 更多