API iOS 共享扩展中的请求立即失败

API Request Fails immediately in iOS share extension

您好,我正在使用共享扩展 post 一些数据到我的服务器,使用 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 共享扩展中发送请求的例子吗?

经过大量的搜索和测试并失败,终于,this solution 对我有用!

这是我在 didSelectPost()

中的代码

let body: 参数 = [ "version": Configs.currentReleaseVersion, "content": 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 实例,returns 它