未调用 Twilio 聊天中键入指示器的委托方法

Delegate methods for typing indicator on Twilio chat not being called

正在开发 Swift 聊天应用程序。 在一台设备上,我加入了一个具有唯一名称 "private:chat" 的频道,然后我在该频道上调用 channel.typing()(如 docs 中所述)。 在另一台设备上,我再次创建一个 delegate 设置为 self:

的客户端
TwilioChatClient.chatClient(withToken: token, properties: nil, delegate: self) { (result, chatClient) in
    self.client = chatClient
}

然后我实现了 typingStartedOn 委托方法来监听频道上的打字。

func chatClient(_ client: TwilioChatClient, typingStartedOn channel: TCHChannel, member: TCHMember) {
    print(">>>>>>>>>>>>> typing on \(channel.uniqueName) by \(member.identity)")
}

但是,委托方法没有被调用,即使我确认 channel.typing() 被其他设备上的其他帐户调用。 JS 中的 docs 内联代码,但基于 iOS 聊天演示应用程序 我得出结论,在 Swift 中委托方法是去吧。

知道这里会发生什么吗?

编辑:正在调用一些(尚未测试全部)其他委托方法,例如 synchronizationStatusUpdated

所以毕竟,问题不在 iOS 客户端,而是在我们的访问令牌服务器的实现中。

正如@rbeiter 在他的 comment on GitHub issue 中指出的那样,如果用户身份在两个设备上相同,Twilio 不会发送键入指示符。我在两个设备上正确设置身份以保持不同,但我们的访问令牌服务器忽略了身份参数并使用了硬编码值。因此,从 Twilio 的角度来看,同一用户在两个设备上。修复访问令牌服务器解决了问题。