博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS 在不打开电话服务的时候,可以响应服务器的推送消息,从而接收服务器的推送消息...
阅读量:4314 次
发布时间:2019-06-06

本文共 1697 字,大约阅读时间需要 5 分钟。

    • 在做即时通讯(基于xmpp框架)的时候遇到这样一个问题,就是在真机测试的时候,你按Home键返回桌面,在你返回桌面的时候,这是你的程序的挂起状态的,在你挂起的时候,
    • 相当于你的程序是死的,程序的所有进程全部是睡眠状态,所有这时候你做任何操作,都是无用的,手机永远也接收不到你的任何消息推送,因为在这里,手机处于休眠状态,这时候你必须要把他唤醒,才能正常的接收你所推送过来的消息,当时我的应用是打开了电话服务,因为电话服务永远都是让手机保持唤醒状态,所有在你手机处于任何状态的时候,都可以接到电话的,所有这就是电话服务。我当时用的就是这样的一个服务,使我的程序不被睡眠,当我上架AppStore的时候,被苹果拒绝了,所有绞尽脑汁想到了一个解决方法.如图是添加的电话服务,在我添加这样的服务时候,苹果商店不让上架AppStore的。所以我想了别的办法
    • 如图是解决的办法:
    • 在AppDelegate中。添加上这么一段代码即可。
1 - (void)applicationDidEnterBackground:(UIApplication *)application 2 { 3     [[UIApplication sharedApplication]setApplicationIconBadgeNumber:0];//进入前台取消应用消息图标 4      5      6     UIApplication*   app = [UIApplication sharedApplication]; 7      8     __block    UIBackgroundTaskIdentifier bgTask; 9     10     bgTask = [app beginBackgroundTaskWithExpirationHandler:^{11         12         dispatch_async(dispatch_get_main_queue(), ^{13             14             if (bgTask != UIBackgroundTaskInvalid)15                 16             {17                 18                 bgTask = UIBackgroundTaskInvalid;19                 20             }21             22         });23         24     }];25     26     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{27         28         dispatch_async(dispatch_get_main_queue(), ^{29             30             if (bgTask != UIBackgroundTaskInvalid)31                 32             {33                 34                 bgTask = UIBackgroundTaskInvalid;35                 36             }37             38         });39         40     });41 42 }

好了,这就是我的解决办法,不用系统的电话服务照样可以唤醒程序不被睡眠,导致后台推送不过来消息。。

谢谢大家,我们以后可以多多学习,多多进步。。

PS:不知道别的办法是什么,有别的办法的可以给我留言,我们一同探讨。。

转载于:https://www.cnblogs.com/Wild-orangutans/p/4243914.html

你可能感兴趣的文章
an exciting trip
查看>>
【转】xmind8 破解激活教程
查看>>
Mysql用命令方式启动服务
查看>>
【贪心】codeforces A. Heidi and Library (easy)
查看>>
【leetcode】lower_bound
查看>>
跨站请求伪造(CSRF)
查看>>
EF Code First数据库映射规则及配置
查看>>
.Net StackFrame
查看>>
Qt 学习之路:视图选择 (QItemSelectionModel)
查看>>
QStyleFactory类参考
查看>>
ng-深度学习-课程笔记-2: 神经网络中的逻辑回归(Week2)
查看>>
正则表达式的搜索和替换
查看>>
个人项目:WC
查看>>
地鼠的困境SSL1333 最大匹配
查看>>
flume+elasticsearch+kibana遇到的坑
查看>>
Javascript 高阶函数等
查看>>
【MM系列】在SAP里查看数据的方法
查看>>
C#——winform
查看>>
CSS3 transform制作的漂亮的滚动式导航
查看>>
《小强升职记——时间管理故事书》读书笔记
查看>>