【问题标题】:Twilio iOS Chat client initialization never completesTwilio iOS 聊天客户端初始化从未完成
【发布时间】:2017-09-28 02:34:46
【问题描述】:

我在使用 Twilio iOS 聊天客户端时遇到问题。简而言之,当我尝试创建聊天客户端时,该过程开始但从未完成。我打电话给 TwilioChatClient.chatClientWithToken:properties:delegate:completion:,并且完成永远不会运行。我为聊天客户端提供了一个委托,它的 chatClient:synchronizationStatusUpdated: 函数被调用一次,状态参数设置为 TCHClientSynchronizationStatusStarted,但该函数不再被调用。

当我在 Android 上使用相同的令牌(APN 或 FCM 推送凭据除外)创建客户端时,我没有遇到此问题。在我的开发环境中,我在 iOS 或 Android 上也没有这个问题,它使用与我的暂存环境不同的 Twilio 帐户,在那里我看到了这个错误。有人可能会认为我在暂存环境中配置错误,但即使是这种情况,我也希望客户端创建以失败状态结束,而不是开始并且永远不会完成。

谁能解释一下这个问题?我使用的是 2.0.0 版的 iOS 聊天库和 1.0.0 版的 Android 库。

【问题讨论】:

  • 我遇到了同样的问题。我在 iOS 上使用 v1.0.7

标签: ios twilio-programmable-chat


【解决方案1】:

我也有同样的问题。

我基于 Twilio 的 ChatQuickstart 项目构建了一个并行项目,同时启用和配置推送通知。 ChatQuickstart 项目运行良好,并且在后台使用相同的 Twilio 服务和完全相同的 Twilio 框架。

我在我的主项目和 ChatQuickstart 中都设置了 TwilioChatClient.setLogLevel(.debug) 来比较输出。

这是他们彼此偏离的时候。

<<<<TwilioChatClient: 0x6000003e0600>>>> TNWebsocket[4]:     0x7000042e3000 | 10/10/16:04:48.371 | DEBUG    | 5      | TNWebsocket | Receive message 136 bytes
<<<<TwilioChatClient: 0x6000003e0600>>>> TNTwilsockClient[4]:     0x7000042e3000 | 10/10/16:04:48.372 | DEBUG    | 1      | TNTwilsockClient | onMessageReceived (152)
TWILSOCK V3.0 131
{"method":"reply", "id":"5548856787e7426f90d03466e3df84938493", "payload_size":0, "status":{"code":400,"status":"wrong-ers-response"}}

.debug 跟踪表明正在更新连接状态,但没有调用我的委托。

经过进一步调查,我们发现生成的 JWT 令牌使用了无效的 SID 作为推送凭证 - 在我们的例子中是“Dev”。 android SDK对此没有问题,但iOS SDK在这方面更敏感。

事实:在构建令牌时确保 iOS 推送凭据的 SID 有效。

【讨论】:

  • 根本原因对我来说几乎是一样的。我在暂存环境中没有向 JWT 令牌生成器提供 SID。对不起,我没有早点说什么;我可能会为您节省一些时间。
猜你喜欢
  • 1970-01-01
  • 2019-10-16
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
  • 2020-03-20
  • 1970-01-01
  • 2015-10-12
  • 2011-01-04
相关资源
最近更新 更多