从几天开始,我正在寻找这个问题的解决方案,最后在这里发布:
当我收到远程通知,并忽略推送通知并通过单击应用程序图标启动应用程序时,委托方法" didreceiveRemoteNotification"不会被叫。有没有办法在应用启动时获得完整的通知有效载荷字典。
任何帮助将不胜感激!
答案 0 :(得分:3)
没有
您应该在服务器上存储通知详细信息,并向服务器发出请求以获取待处理的详细信息(并更新已访问的详细信息)。
除非用户明确选择从那里打开应用,否则应用无法访问通知中心的通知。
答案 1 :(得分:0)
启动时,您将通过启动选项收到远程通知。在您的应用程序委托中,实现- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
然后您可以检索您在didReceiveRemoteNotification:(NSDictionary *)userInfo
中给出的相同字典,如下所示:
if ([launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]) {
NSDictionary *userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]];
...
}