我正在使用 Twilio for iOS 开发 VoIP 应用程序。该应用程序应该能够接收传入连接。为此,我检查了 VoIP 和声音功能,以便应用程序保持运行并监听端口。
为此,我在我的 appDelegate 中初始化了一个 TCDevice,并将 appDelegate 设置为 TCDeviceDelegate
以便系统继续监听新连接。但该应用程序最终会进入后台,甚至会在某个时候终止。那么此时我该怎么办呢?
这是保持应用在后台监听的正确方法吗?我一直在读到我需要使用 setKeepAliveTimeout
在我的didEnterBackground
方法,但 Apple 表示在使用 iOS8+ 时,我们应该改为注册 Remote Notifications。
此外,我正在阅读 Apple 文档,他们说应该正确标记套接字以使系统保持这些套接字处于事件状态。 Twilio 的库会处理这些细节吗?
我对整个过程很迷茫。 Twilio 会处理所有事情吗?如果是这样,怎么办?
最佳答案
Twilio SDK 会为您调用 setKeepAliveTimeout,因此您无需调用它或担心套接字。您需要做的就是将两个背景设置添加到您的 info.plist 以播放音频和 VOIP。
Twilio 在线文档不是很好,但是如果您下载 iOS SDK 并解压它,您会发现一个不在线的常见问题解答,它解释了更多信息。您还会发现一个 BasicPhone Xcode 项目,它比 Monkey 项目更加充实。
我还发现,除非你掏出一些钱,否则没有一个电话会真正接通。
如果您遇到任何问题,那么 Twilio 电子邮件支持会在每个问题的前 48 小时内提供很好的支持,然后他们往往会保持沉默。 YMMV.
所有这些都是我 2 个月前就可以完成的信息,希望对您有所帮助。
关于ios - 通过 Twilio 在 iOS 中使用后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29672129/