如何解决swift 中的方法是否有可能无法正常工作而没有错误?
我正在 swiftui 应用程序中实施 Cometchat 和 Agora 音频聊天,在这两种情况下,我都面临着对我来说并不常见的情况。
直到某个方法一切正常,但如果调用“加入频道”或“获取消息列表”回调方法不起作用,尽管没有错误。
我附上了一个代码示例(在方法之前一切正常,在回调中它没有)。我不明白如何解决它。你能告诉我从哪个方向寻找解决方案吗?
print("DEBUG channelName",self.channelName,"uid",self.rtcId,"token",token) // works here
self.rtckit.joinChannel(byToken: token,channelId: self.channelName,info: nil,uid: self.rtcId) { (channel,uid,errCode) in
print("DEBUG Inside AgoraObservable rtckit.joinChannel()") // Doesn't work here
self.rtcId = uid
self.channel = self.rtmkit?.createChannel(withId: self.channelName,delegate: self)
self.channel?.join(completion: { joinStatus in
print("DEBUG Inside self.channel?.join")
if joinStatus == .channelErrorOk {
let user = AgoraUserData(rtmId: self.rtmId,rtcId: self.rtcId,username: self.username)
guard let jsonString = try? user.toJSONString() else {
return
}
self.membersLookup[user.rtmId] = (user.rtcId,user.username)
self.channel?.send(AgoraRtmMessage(text: jsonString))
} else {
self.channel = nil
}
})
}
和
// Works here
messagesRequest.fetchPrevious(onSuccess: { (messages) in
// Doesn't work here
for message in messages!{
if let receivedMessage = (message as ? TextMessage) {
print("Message received successfully. " + receivedMessage.stringValue())
}
else if let receivedMessage = (message as ? MediaMessage) {
print("Message received successfully. " + receivedMessage!.stringValue())
}
}
}) { (error) in
print("Message receiving failed with error: " + error!.errorDescription);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。