我在一个iOS应用程序中使用了SVProgressHUD,它工作得很好。我想使用它也为该应用程序的共享扩展,但它不显示应用程序。我为share扩展视图使用了一个自定义视图,下面是我用来调用SVProgressHUD的代码。请注意,打印上传进度的效果很好。我做错了什么?谢谢。
class ShareViewController: UIViewController {
...
Alamofire.upload(multipartFormData: { multipartFormData in
multipartFormData.append(jpgImageData!, withName: "file",fileName: fname, mimeType: "image/jpg")
for (key, value) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
},
to:url!)
{ (result) in
switch result {
case .success(let upload, _, _):
upload.uploadProgress(closure: { (progress) in
print("Upload Progress: \(progress.fractionCompleted)")
SVProgressHUD.setViewForExtension(self.view)
SVProgressHUD.showProgress(Float(progress.fractionCompleted))
})
upload.responseJSON { response in
if response.response?.statusCode == 200{
if let result = response.result.value {
DispatchQueue.main.async(execute: {
let pre = NSLocale.preferredLanguages[0]
var message = "Message"
SVProgressHUD.showSuccess(withStatus: message)
SVProgressHUD.dismiss(withDelay: 2)
self.extensionContext?.completeRequest(returningItems: nil, completionHandler: nil)
})
}发布于 2017-06-26 18:57:46
尝尝这个
class ShareViewController: UIViewController {
...
Alamofire.upload(multipartFormData: { multipartFormData in
multipartFormData.append(jpgImageData!, withName: "file",fileName: fname, mimeType: "image/jpg")
for (key, value) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
},
to:url!)
{ (result) in
switch result {
case .success(let upload, _, _):
upload.uploadProgress(closure: { (progress) in
print("Upload Progress: \(progress.fractionCompleted)")
DispatchQueue.main.async(execute: {
SVProgressHUD.setViewForExtension(self.view)
SVProgressHUD.showProgress(Float(progress.fractionCompleted))
})
})
...
}https://stackoverflow.com/questions/44758062
复制相似问题