0

当应用程序在后台时,我非常需要一个后台任务来始终运行。

voip 应用程序需要它。所有步骤都为 voip 应用程序完成。

我正在使用以下脚本来运行后台任务

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    UIApplication *app = [UIApplication sharedApplication];
    UIBackgroundTaskIdentifier bgTask;
    self.bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
        [app endBackgroundTask:self.bgTask];
    }];
}

使用后,当应用程序进入后台时,在 10 分钟内UILocalnotification出现 sip 呼叫。但 10 分钟后,如果有 sip 呼叫,则 UILocalnotification 没有出现。

请任何人帮助我。

4

2 回答 2

1

您是否已将voip背景模式添加到UIBackgroundModes应用程序Info.plist文件中的键中?

于 2013-10-07T11:49:05.110 回答
0

由于后台有许多请求,您的应用程序可能会崩溃。我希望您已经按照以下步骤操作:

实施 VoIP 应用程序有几个要求:

  • 将 UIBackgroundModes 键添加到应用的 Info.plist 文件中。将此键的值设置为包含 voip 字符串的数组。

    • 为 VoIP 使用配置应用程序的其中一个套接字。

    • 在移动到后台之前,调用

    • setKeepAliveTimeout:handler: 安装处理程序的方法是
    • 定期执行。您的应用可以使用此处理程序来维护其服务连接。

    • 配置您的音频会话以处理与活动使用之间的转换。

    为确保在 iPhone 上获得更好的用户体验,请使用 Core Telephony 框架来调整您与手机通话相关的行为;请参阅核心电话框架参考。

  • 为确保您的 VoIP 应用程序具有良好的性能,请使用系统配置框架来检测网络变化并让您的应用程序尽可能地休眠。

于 2013-10-07T13:24:57.427 回答