【问题标题】:Keep socket connection open while app is not active (Backgrounded) (IOS)在应用程序不活动时保持套接字连接打开(后台)(IOS)
【发布时间】:2013-10-24 16:49:24
【问题描述】:

我正在开发需要在应用不活动时保持套接字连接打开的聊天应用。我尝试将应用程序后台设置修改为 VOIP,但操作系统仍然会在 10 分钟后杀死我的应用程序。大约。

我已经在 Titan ios 中开发了相同的聊天应用程序。 Titanium 为后台提供 Ti.App.backgroundservice。它在上面运行无穷大。我还检查了钛的类文件,了解他们提供的后台服务,但很难理解。

我的问题是钛如何使无限运行后台服务成为可能?这样我就可以使用相同的方法在我的核心 ios 应用程序中保持我的套接字连接无限活跃。

【问题讨论】:

  • 根据 doc docs.appcelerator.com/titanium/latest/#!/api/…,即使 Ti 也无法无限运行。他们可能有一些恢复机制。有一个技巧 - 当您注册为 VOIP 或音频播放器时,您可以一直播放静音。但这不会通过应用商店审查。从未尝试过。你有没有想过用 NS*Stream 代替纯套接字?
  • 其实我的钛金属ios应用已经被苹果审核团队接受了。所以,我认为如果我使用像钛这样的黑客,不会有任何问题。我会按照您的建议尝试使用 NSStream 并让您知道它有效。

标签: ios


【解决方案1】:

我没有使用钛金属的经验,所以不能说它是如何工作的,但请查看下面的 iOS 评论,

请查看iOS Voip Socket will not run in background,在 iOS 中的 VOIP 应用程序中,您需要 TCP 套接字,其属性设置为 VOIP。

当应用程序被杀死时,您是否收到 0x8badf00d 异常?

【讨论】:

  • 感谢链接。我将使用 tcp socket 进行测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
  • 2017-08-07
  • 2018-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多