在 iOS 中使用 Twilio 的后台进程

Using background processes in iOS with Twilio

我正在使用 Twilio 为 iOS 开发一个 VoIP 应用程序。该应用程序应该能够接收传入的连接。为此,我检查了 VoIP 和声音功能,以便应用保持 运行 并监听端口。

为此,我在我的 appDelegate 中初始化了一个 TCDevice 并将 appDelegate 设置为 TCDeviceDelegate 以便系统继续侦听新连接。但该应用程序最终会进入后台,甚至会在某个时候终止。那么此时我该怎么办呢?

这是保持应用程序在后台监听的正确方法吗?我一直在读到我需要在我的 [=13] 中使用 setKeepAliveTimeout =] 方法,但 Apple 表示在使用 iOS8+ 时,我们应该改为注册远程通知。

此外,我正在阅读 Apple 文档,他们说应该正确标记套接字以使系统保持这些套接字处于活动状态。 Twilio 的库会处理这些细节吗?

整个过程我很迷茫。 Twilio 会处理所有事情吗?如果可以,怎么做?

Twilio SDK 会为您调用 setKeepAliveTimeout,因此您无需调用它或担心套接字。您需要做的就是将音频和 VOIP 播放的两个背景设置添加到 info.plist。

Twilio 在线文档不是很好,但是如果您下载 iOS SDK 并解压它,您会发现一个不在线的常见问题解答,它解释了更多信息。您还会发现一个 BasicPhone Xcode 项目,它比 Monkey 项目更充实。

我还发现,除非你掏出一些钱,否则 none 的电话实际上会接通。

如果您遇到任何问题,那么 Twilio 电子邮件支持在每个问题的前 48 小时内都很好,然后他们往往会保持沉默。 YMMV.

所有这些都是我 2 个月前就可以完成的信息,希望对您有所帮助。