iOS背景不工作

前端之家收集整理的这篇文章主要介绍了iOS背景不工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为iOS编写VoIP应用程序,但是当App在后台停止接受电话时.当应用程序再次处于活动状态时,所有排队消息开始得到处理.

以下是我所做的

当构建应用程序时,我将IP语音以及音频和AirPlay添加到plist文件.然后我可以看到here,标记与NetworkServiceTypeVoIP的websocket连接.

我没有设置保持活动超时处理程序,因为注册不重要,如果应用程序不会唤醒来接听电话.任何帮助将不胜感激.

应该注意的是,这是我第一个Swift项目,我对iOS平台并不十分熟悉.

解决方法

要允许在后台运行应用程序,您需要启用IP语音IP标志(路径:转到目标 – >功能 – >后台模式).如下所示.

并在您的项目中添加以下代码支持后台

步骤1:声明__block UIBackgroundTaskIdentifier bgTask作为全局变量.

步骤2:在applicationDidEnterBackground中添加以下代码.

- (void)applicationDidEnterBackground:(UIApplication *)application {


         bgTask = [application beginBackgroundTaskWithExpirationHandler:^{
         bgTask = UIBackgroundTaskInvalid;
          }];


}

步骤3:一旦应用程序进入前台模式,停止后台任务处理程序.

- (void)applicationWillEnterForeground:(UIApplication *)application {
  // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.

  [[UIApplication sharedApplication] endBackgroundTask:bgTask];


}

希望这能帮助你.

猜你在找的iOS相关文章