【问题标题】:API Request Fails immediately in iOS share extensioniOS 共享扩展中的 API 请求立即失败
【发布时间】:2018-09-02 06:59:04
【问题描述】:

您好,我正在使用共享扩展通过 API 请求 (Alamofire) 将一些数据发布到我的服务器,问题是请求立即失败,我不知道如何使其工作,我阅读了一些文章我必须使用 URLSession 在后台发送请求,但我找不到任何示例来说明如何使其与 alamofire 一起使用,这是我在共享扩展 ViewController 中的代码:

override func didSelectPost() {

    MessageHTTPHelper.submitMessage(contains: contentText, completion: { (response) in
        self.showAlert(title: "Result", message: response.result.isSuccess ? "SUCCESS" : "FAILURE")
    })

}

MessageHTTPHelper.submitMessage 是我定义的辅助函数,它可以在主应用程序中完美运行 我不关心响应,我只是想发送请求而没有任何回调,你能给我一个在 iOS 共享扩展中发送请求的例子吗?

【问题讨论】:

    标签: ios swift networking alamofire share-extension


    【解决方案1】:

    经过大量搜索和测试并失败,终于,this solution 为我工作!

    这是我在didSelectPost()中的代码

    让正文:参数= [ “版本”:Configs.currentReleaseVersion, “内容”:cleanTextContent ]

    let request = HTTPHelper.makeHTTPRequest(route: "message",
                               headers: HTTPHelper.defaultAuthHTTPHeaders,
                               verb: .post,
                               body: body,
                               apiV1Included: true)
    let queue = DispatchQueue(label: "com.example.background", qos: .background, attributes: .concurrent)
    
    request.responseJSON(queue: queue, options: .allowFragments) { (response) in
        if response.result.isFailure {
            guard let message = response.error?.localizedDescription else {
                self.dismiss()
                return
            }
            self.showAlert(title: "Error", message: message)
        }
    }
    

    HTTPHepler.makeHTTPRequest 只是一个辅助方法,它使用给定的参数创建一个 Alamofire DataRequest 实例并返回它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多