IOS: как показать результат завершения социального фреймворка

Я пытался использовать социальную платформу для Facebook В IOS с swift. И я попробовал следующий код, однако я не могу показать окно предупреждения…

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)
        }
    }

Кто-нибудь может мне подсказать? Большое вам спасибо!

1 ответ

  1. Попробуйте переместиться self.presentViewController(shareWindow, animated: true, completion: nil)после завершения обработчика завершения и до IF.