• IOS 在不打开电话服务的时候,可以响应服务器的推送消息,从而接收服务器的推送消息


      • 在做即时通讯(基于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:不知道别的办法是什么,有别的办法的可以给我留言,我们一同探讨。。

  • 相关阅读:
    React源码 Suspense 和 ReactLazy
    React源码 ReactContext
    BZOJ 3456: 城市规划 与 多项式求逆算法介绍(多项式求逆, dp)
    LOJ #6436. 「PKUSC2018」神仙的游戏(字符串+NTT)
    LOJ #6433. 「PKUSC2018」最大前缀和(状压dp)
    LOJ #6432. 「PKUSC2018」真实排名(组合数)
    LOJ #2542. 「PKUWC 2018」随机游走(最值反演 + 树上期望dp + FMT)
    LOJ #2541. 「PKUWC 2018」猎人杀(容斥 , 期望dp , NTT优化)
    LOJ #2540. 「PKUWC 2018」随机算法(概率dp)
    LOJ #2538. 「PKUWC 2018」Slay the Spire (期望dp)
  • 原文地址:https://www.cnblogs.com/Wild-orangutans/p/4243914.html
Copyright © 2020-2023  润新知