5分钟后我收到错误描述,这是因为sendbird sdk自动重新连接。因此,有没有办法停止自动连接或减少错误消息的到达时间。
这是我尝试过的,
let preSendMessage = channel.sendFileMessage(withBinaryData: data!, filename: "demo", type: mimeType! as String, size: UInt((data?.count)!), thumbnailSizes: [thumbnailSize!], data: "", customType: "", progressHandler: nil, completionHandler: { (fileMessage, error) in
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + .milliseconds(150), execute: {
let preSendMessage = self.preSendMessages[(fileMessage?.requestId)!]
self.preSendMessages.removeValue(forKey: (fileMessage?.requestId)!)
if error != nil {
self.resendableMessages[(fileMessage?.requestId)!] = preSendMessage
self.resendableFileData[(preSendMessage as! SBDFileMessage).requestId!] = [
"data": data as AnyObject,
"type": mimeType as AnyObject,
]
self.chatTableView.reloadData()
DispatchQueue.main.async {
self.chatTableView.scrollToLastRow(animated: true)
}
return
}
if fileMessage != nil {
self.resendableMessages.removeValue(forKey: (fileMessage?.requestId)!)
self.resendableFileData.removeValue(forKey: (fileMessage?.requestId)!)
self.messages[self.messages.index(of: preSendMessage as! SBDFileMessage)!] = fileMessage!
DispatchQueue.main.async {
self.chatTableView.reloadData()
DispatchQueue.main.async {
self.chatTableView.scrollToLastRow(animated: true)
}
}
}
})
})
答案 0 :(得分:1)
最后找到了解决方案,
显示错误,因为sendbird不允许发送大小为15MB或更大的文件消息。
所以,我调整了视频大小,然后将其发送到sendbird服务器,直到它可以正常工作。