2016-05-04 6 views
0

Ich habe versucht, soziale Rahmen für Facebook in IOS mit swift zu verwenden. Und ich versuchte, den folgenden Code, aber ich kann nicht das Alarmfenster zeigen ...IOS: wie Fertigstellung Ergebnis des sozialen Rahmens zu zeigen

if SLComposeViewController.isAvailableForServiceType(SLServiceTypeFacebook){ 
     var mes: String = "" 
     let shareWindow: SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook) 
     //configure initial text 
     shareWindow.setInitialText("XXX") 
     self.presentViewController(shareWindow, animated: true, completion: nil) 
     //handle the result of this share 
     shareWindow.completionHandler = { result -> Void in 
      let getResult = result as SLComposeViewControllerResult; 
      switch(getResult.rawValue) { 
      case SLComposeViewControllerResult.Cancelled.rawValue: 
       mes = "Cancelled!" 
      case SLComposeViewControllerResult.Done.rawValue: 
       mes = "Successfully Posted!" 
      default: 
       mes = "" 
      } 
      self.dismissViewControllerAnimated(true, completion: nil) 
     } 
     if mes.isEmpty == false { 
      let alertView = UIAlertController(title: "Facebook Post Result", message: mes, preferredStyle: .Alert) 
      alertView.addAction(UIAlertAction(title: "Ok", style: .Default, handler: nil)) 
      presentViewController(alertView, animated: true, completion: nil) 
     } 
    } 

Könnte jemand mir einen Tip geben? Ich danke dir sehr!

+0

Verschieben Sie Ihre if-Anweisung mit der Warnung in den CompletionHander-Teil des Codes. – Gruntcakes

+0

Danke, ich habe das schon mal ausprobiert, es funktioniert nicht. – Paul

+0

Nun, es wird nicht so funktionieren, wie es jetzt ist, es zurückbringen und es ausführen und debuggen und herausfinden, was der Wert von mes ist. – Gruntcakes

Antwort

0

Versuchen Sie, self.presentViewController(shareWindow, animated: true, completion: nil) nach dem Ende des Beendigungshandlers und vor dem IF zu verschieben.

Verwandte Themen