Twilio iOS 聊天客户端初始化从未完成
Twilio iOS Chat client initialization never completes
我在使用 Twilio iOS 聊天客户端时遇到问题。简而言之,当我尝试创建一个聊天客户端时,该过程开始但从未完成。我调用 TwilioChatClient.chatClientWithToken:properties:delegate:completion:,但完成从未运行。我为聊天客户端提供了一个委托,它的 chatClient:synchronizationStatusUpdated: 函数被调用一次,状态参数设置为 TCHClientSynchronizationStatusStarted,但该函数再也不会被调用。
当我在 Android 上使用相同的令牌(APN 或 FCM 推送凭据除外)创建客户端时,我没有遇到此问题。我在我的开发环境中的 iOS 或 Android 上也没有这个问题,它使用与我的暂存环境不同的 Twilio 帐户,我在其中看到了这个错误。有人可能会得出结论,我在暂存环境中配置错误,但即使是这种情况,我也希望客户端创建以失败状态结束,而不是开始并且永远不会完成。
任何人都可以阐明这个问题吗?我正在使用 iOS 聊天库的 2.0.0 版和 Android 库的 1.0.0 版。
我有同样的问题。
我基于 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 在构建令牌时有效。
我在使用 Twilio iOS 聊天客户端时遇到问题。简而言之,当我尝试创建一个聊天客户端时,该过程开始但从未完成。我调用 TwilioChatClient.chatClientWithToken:properties:delegate:completion:,但完成从未运行。我为聊天客户端提供了一个委托,它的 chatClient:synchronizationStatusUpdated: 函数被调用一次,状态参数设置为 TCHClientSynchronizationStatusStarted,但该函数再也不会被调用。
当我在 Android 上使用相同的令牌(APN 或 FCM 推送凭据除外)创建客户端时,我没有遇到此问题。我在我的开发环境中的 iOS 或 Android 上也没有这个问题,它使用与我的暂存环境不同的 Twilio 帐户,我在其中看到了这个错误。有人可能会得出结论,我在暂存环境中配置错误,但即使是这种情况,我也希望客户端创建以失败状态结束,而不是开始并且永远不会完成。
任何人都可以阐明这个问题吗?我正在使用 iOS 聊天库的 2.0.0 版和 Android 库的 1.0.0 版。
我有同样的问题。
我基于 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 在构建令牌时有效。