在 QuickBlox ios Swift SDK 中发送聊天附件需要很长时间超过 1 分钟

问题描述

使用 QuickBlox iOS Swift SDK 发送聊天附件需要大量时间(超过 1 分钟) 我们有以下通过 iOS 设备上的聊天窗口发送附件的实现。 我们正在使用 quickblox 本身在其文档中的示例应用程序中提供的以下类名和方法

Classname: AttachmentUploadBar
MethodName: QBRequest.uploadFile

当我们在我们的应用程序中加入相同的实现时,从 quickblox 的上传 API 获得响应需要大约 30 秒。 除了我们帐户的端点外,与 Quickblox 文档中提供的内容相比,实施中没有任何变化。 我们已经对我们的 Web 和 Android 实现(到同一个端点)进行了相同的测试,但我们没有看到那里有任何延迟,延迟(0.5 Mb 文件大约 50 - 60 秒)只是发生在 iOS 前端。>

这是上传文件方法

QBRequest.uploadFile(with: url,fileName: attachmentName,contentType: mimeType,isPublic: true,successBlock: { [weak self] (response: QBResponse,uploadedBlob: QBCBlob) -> Void in
                        guard let self = self else {
                          return
                        }
                        print("uploading attachment done")
                        let attachment = QBChatAttachment()
                        attachment.id = uploadedBlob.uid
                        attachment.name = uploadedBlob.name
                        attachment.type = mimeType
                        // print("uploadbob url : \(uploadedBlob.publicUrl())")
                        // attachment.url = uploadedBlob.publicUrl()
                        attachment["size"] = "\(uploadedBlob.size)"
                        self.progressBar.isHidden = true
                        self.cancelButton.isHidden = false
                        self.delegate?.attachmentBar(self,didUpLoadAttachment: attachment)
              },statusBlock: { [weak self] (request : QBRequest?,status : QBRequestStatus?) -> Void in
                if let status = status {
                  dispatchQueue.main.async {
                    print("uploading attachment in progress === \(status.percentOfCompletion)")
                    let progress = CGFloat(Float(status.percentOfCompletion))
                    self?.updateLoadingProgress(progress)
                  }
                }
            }) { [weak self] (response : QBResponse) -> Void in
              guard let self = self else {
                return
              }
              print("upload attachment Failed.. ")
              self.delegate?.attachmentBarFailedUpLoadImage(self)
            }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)