我正在使用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
答案 0 :(得分:0)
我解决了这个问题。
我重新安装了XCode和Simulator,并修复了该问题。
我引用了这些链接。
How to Uninstall Xcode on macOS
xcode simulator not coming up - reinstall possible?