我们正在开发一个VoIP应用程序,当我的应用程序转到后台时,我一直在尝试使用setKeepAliveTimeout:handler:来保持连接活动。根据苹果的文档,他们要求提供至少600秒的超时。实际上,我们正在保持较少的超时值,是否有可能处理较少的超时?
如果超时,如何使用处理程序重置计时器或请求更多时间,以便我可以保持连接始终有效(以接收来电)?
这就是我要做的。
- (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?
}发布于 2013-02-25 17:59:30
摘自Apple的文档:
The minimum acceptable timeout value is 600 seconds.编辑关于您的评论的
VoIP连接是(几乎)正常的连接。也就是说,如果你有传入的数据,你的应用程序会在后台恢复执行。超时处理程序用于想要ping另一端以避免超时的情况。更多的信息给出了TN 2277。
https://stackoverflow.com/questions/15061232
复制相似问题