我正在使用Twilio iOS SDK为iOS开发VoIP应用程序。
应用程序应始终在线,应始终能够接收来电。 I. e。它应该能够在背景中生活几天或几周。
但Twilio功能令牌的最长有效期为24小时。因此,应用程序必须定期更新功能令牌。 有可靠的方法在后台更新令牌吗?
我找到的唯一解决方案是在TCDeviceDelegate的方法设备中更新令牌:didStopListeningForIncomingConnections:。
但是这个解决方案是不可靠的:如果令牌更新失败,则无法重试更新。
答案 0 :(得分:2)
Twilio开发者传道者在这里。
您是否可以选择手动更新功能令牌,您是否收听了TCDevice的回调?其中一个回调称为arr.chunk { |e| e && false }.map(&:last)
#=> [[5, 6, 7, 8, 9, 10, 11], [17], [50, 51]]
并根据文档:
TCDeviceIncomingStateOffline
可能会进入TCDevice
州,因为 功能已过期。在这些情况下,能力将 需要更新。如果设备当前正在侦听传入 连接时,它将使用重启监听过程(如果允许) 这些更新的功能。
因此,如果你要收听TCDevice变为离线的变化,你可以轻松刷新令牌。然后,只有在更新功能时才会启动侦听过程。
希望这有助于你