2017-06-26 9 views
0

私は、iOSアプリケーションでSVProgressHUDを使用しています。私はこのアプリの共有拡張のためにも使いたいですが、アプリを表示しません。 共有拡張ビューのカスタムビューを使用しています。ここではSVProgressHUDを呼び出すために使用するコードです。アップロードの進行状況の印刷は正常に動作することに注意してください。 私は何が間違っていますか?おかげさまで 共有拡張の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) 
     })  

} 
+0

あなたがSVProgressHudのターゲットを追加しましたみては? – Rajesh73

+0

いいえ、私はしませんでした。どうやってやるの?おかげさまで – radar

+0

SVProgressHudを手動で追加した場合は、SVprogressHud.mを選択し、右側のパネルでUtillities - > Target MemberShip – Rajesh73

答えて

0

この

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)) 
}) 
}) 
... 
} 
+0

あなたの答えをありがとう。残念ながら、それはどちらも現れません。私はすでにDispatchQueue.main.asyncを使ってSVProgressHUDを使ってメッセージを表示していることを忘れていました。私はそのコードを編集する。 – radar

関連する問題