收到多个推送通知时应用程序冻结

Posted

技术标签:

【中文标题】收到多个推送通知时应用程序冻结【英文标题】:App Freezes when received more than one push notifications 【发布时间】:2013-11-20 12:25:40 【问题描述】:

我们的应用程序在 ios6 上没有任何问题,但在 iOS7 上,在收到多个推送通知时,应用程序冻结并且必须强制关闭应用程序。

我们已经实现了 didReceiveRemoteNotification 并在 UIAlertView 中显示通知并将 NSNotfication 发布到指定的视图控制器。我们甚至尝试删除 NSNotification,但应用仍然冻结。

- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
     UIApplicationState state = [application applicationState];
     if (state == UIApplicationStateActive)
         NSString *message = [[userInfo objectForKey:@"aps"] objectForKey:@"alert"];
         [UserHelper showError:@"" withMessage:message];
        [[NSNotificationCenter defaultCenter] postNotificationName:kNotifyNotification object:nil userInfo:userInfo];
     

这是推送通知的结构

 
    NewsFeedItemGUID = "6d4a3eeb-12bf-4371-896c-230b11217c52";
    "_" = OKt9EVHaEeOu3QAbIbyL6A;
    aps =     
        alert = "a1 a1 completed the profile Affection Type Revealed in Love & Lust, Level 1";
    ;



    NewsFeedItemGUID = "bcc72f7c-a9d3-4d2d-bcfe-b36573baee93";
    "_" = "OZ-hEVHaEeOOAZDiugJkgA";
    aps =     
        alert = "a1 a1 just completed Level 1 in Love & Lust";
    ;

我们已经使用 iOS6 (XCode 4.6.2) 和 iOS7 (XCode7.0.1) 编译了应用程序,但问题仍然存在。我们也没有与 iOS7 相关的推送通知方法,这些似乎是导致问题的原因吗?任何帮助,建议将不胜感激。

【问题讨论】:

【参考方案1】:

尝试在- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 中注释整个代码并检查是否仍然挂起。还要检查有效负载上数据的 256 字节限制,尽管它不应该导致崩溃

【讨论】:

当我在 didReceiveRemoteNotification 中评论所有内容时它不会冻结 比 APN 不是问题.. 检查这两个函数 ` NSString *message = [[userInfo objectForKey:@"aps"] objectForKey:@"alert"]; [UserHelper showError:@"" withMessage:message];`你一定是做错了什么

以上是关于收到多个推送通知时应用程序冻结的主要内容,如果未能解决你的问题,请参考以下文章

phonegap ios:当用户为权限请求框选择“不允许”时,推送通知冻结

初始化推送通知时发生奇怪的 ionic 内存泄漏导致冻结

当推送通知到达(未收到)设备时调用委托

***应用如何几乎同时发送多个 ios 推送通知?

应用程序处于前台时未收到 Firebase 推送通知

收到推送通知时清除徽章