【问题标题】:ios voip app run only 10 min in backgroundios voip 应用程序仅在后台运行 10 分钟
【发布时间】:2025-11-26 09:45:01
【问题描述】:

我正在为 iPhone 和 iPad 系列创建一个 voip 应用程序,其中我做了以下事情:

  1. 在 plist 文件中添加了 UIBackgroundModes 键,其值为“audio”和“voip”。
  2. 使用标签 NSStreamNetworkServiceTypeVoIP 创建 NSInputStreamNSOutputStream,并将它们安排在另一个线程(不是主线程)的运行循环中。
  3. applicationDidEnterBackground 中创建了后台任务。
  4. 添加了 setKeepAliveTimeout 处理程序(超时值 600 秒)。

setKeepAliveTimeout 的处理程序中的代码被调用时,应用程序重新启动。

如果我不设置 setKeepAliveTimeout 处理程序,应用程序会重新启动,但会在暂停后尝试向应用程序发送任何信号(后台 10 分钟完成)。

我已经尝试了几乎所有我想到的东西,需要指向解决方案的指针提前谢谢,

【问题讨论】:

标签: iphone objective-c voip


【解决方案1】:

setKeepAliveTimeout 处理程序的职责是关心连接。因此,您应该使用比连接超时时间短的活动间隔。

【讨论】:

    最近更新 更多