iosswiftfacebookslcomposeviewcontroller

How to detect user successfully shared to Facebook with SLComposeViewController


I created a button in the app to share a status on Facebook with SLComposeViewController. How do I check whether the user really do click to share the status?

My code as below:

@IBAction func fbBtn(_ sender: Any) {

    if SLComposeViewController.isAvailable(forServiceType: SLServiceTypeFacebook) {
        let fbShare:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)

        self.present(fbShare, animated: true, completion: nil)

    } else {
        let alert = UIAlertController(title: "Accounts", message: "Please login to a Facebook account to share.", preferredStyle: UIAlertControllerStyle.alert)

        alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil))
        self.present(alert, animated: true, completion: nil)
    }
} 

Solution

  • problem solved TQ

    fbShare.completionHandler = { (result:SLComposeViewControllerResult) -> Void in
                switch result {
                case SLComposeViewControllerResult.cancelled:
                    print("Cancelled") 
                    break
    
                case SLComposeViewControllerResult.done:
                    print("Done")
                    break
                }
            }