首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用setKeepAliveTimeout:handler - IOS?

如何使用setKeepAliveTimeout:handler - IOS?
EN

Stack Overflow用户
提问于 2013-02-25 14:23:57
回答 1查看 5.7K关注 0票数 5

我们正在开发一个VoIP应用程序,当我的应用程序转到后台时,我一直在尝试使用setKeepAliveTimeout:handler:来保持连接活动。根据苹果的文档,他们要求提供至少600秒的超时。实际上,我们正在保持较少的超时值,是否有可能处理较少的超时?

如果超时,如何使用处理程序重置计时器或请求更多时间,以便我可以保持连接始终有效(以接收来电)?

这就是我要做的。

代码语言:javascript
复制
- (void)applicationDidEnterBackground:(UIApplication *)application
{

    BOOL backgroundAccepted = [[UIApplication sharedApplication] setKeepAliveTimeout:600 handler:^{ [self backgroundHandler]; }];
    if (backgroundAccepted)
    {
        NSLog(@"VOIP backgrounding accepted");
    }
}




- (void)backgroundHandler {

    NSLog(@"### -->VOIP backgrounding callback"); // What to do here to extend timeout?
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-25 17:59:30

摘自Apple的文档:

代码语言:javascript
复制
The minimum acceptable timeout value is 600 seconds.

编辑关于您的评论的

VoIP连接是(几乎)正常的连接。也就是说,如果你有传入的数据,你的应用程序会在后台恢复执行。超时处理程序用于想要ping另一端以避免超时的情况。更多的信息给出了TN 2277

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15061232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档