【iOS开发】在程序被送入后台时,开启一个长期任务(voip)。

来源:互联网 发布:中国跳水最厉害的知乎 编辑:程序博客网 时间:2024/06/15 03:19
#pragma mark - 程序进入后台 << 开启socket后台长连接 voip(网络电话) >>- (void)keepLongConnectionOfSocketWhenApplicationDidEnterBackground:(UIApplication *)application{    // 允许后台开启一个长期任务,记得配置voip(网络电话)    __block UIBackgroundTaskIdentifier backgroundTaskIdentifier;    backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^{        dispatch_async(dispatch_get_main_queue(), ^{            if (backgroundTaskIdentifier != UIBackgroundTaskInvalid)            {                backgroundTaskIdentifier = UIBackgroundTaskInvalid;            }        });    }];    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{        dispatch_async(dispatch_get_main_queue(), ^{            if (backgroundTaskIdentifier != UIBackgroundTaskInvalid)            {                backgroundTaskIdentifier = UIBackgroundTaskInvalid;            }        });    });    NSLog(@"后台backgroundTaskIdentifier--------  %lu",(unsigned long)backgroundTaskIdentifier);}

转载地址:
http://www.cnblogs.com/lyanet/archive/2013/03/26/2983079.html

2 0