Alamofire multipartFormData.append方法引发致命错误:调用已删除方法

时间:2018-07-24 06:08:08

标签: alamofire

我正在使用Alamofire,并且我将Alamofire用于http请求并将图像上传到服务器。

通常,我使用简单的http请求,但今天我检查了上传请求。
我收到“致命错误:已删除方法的调用”,应用崩溃了。

这是我的代码。

Alamofire.upload(multipartFormData: { multipartFormData in
                multipartFormData.append(imageData, withName: "image", fileName: "user_image", mimeType: "image/png")
                if let params = params {
                    for (key, value) in params {
                        // This method raise "Fatal error: Call of deleted method"
                        multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
                    }
                }
                
            }, to: path, encodingCompletion: { result in
              
            })

下一个代码不会引发错误。
multipartFormData.append(imageData, withName: "image", fileName: "user_image", mimeType: "image/png")
但是此代码会引发错误,提示“致命错误:已删除方法的调用”。
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)

在今天之前,此代码未引发错误。

我尝试过这些。
首先,我将Alamofire 4.7.2升级到4.7.3。
但是结果是一样的。

第二,此代码是在嵌入式框架中定义的,因此我将此方法复制到App代码目录中。
但是结果是一样的。

环境
XCode 9.4.1
迦太基0.30.1安装Alamofire

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。

我重新安装了XCode和Simulator,并修复了该问题。

我引用了这些链接。
How to Uninstall Xcode on macOS
xcode simulator not coming up - reinstall possible?