SLServiceTypeFacebook’ was deprecated in iOS 11.0

i0S Swift Issue

Question or problem in the Swift programming language:

I’m working on a project in xcode 9 and one of my previous codes giving a warning saying the code is been deprecated, where it does not trigger the action. The code as bellow. How can i overcome this ?

@IBAction func shareOnFacebookButtonPressed(_ sender: Any) {

    let shareToFacebook : SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
    shareToFacebook.add(UIImage(named:"pureLightSocial"))
    self.present(shareToFacebook, animated: true, completion: nil)
}

How to solve the problem:

The Facebook, Twitter, and Other apps options have been removed in the Settings app.

That apps will now be treated like other apps, using the iOS sharing extensions

let share = [image, text, url]
let activityViewController = UIActivityViewController(activityItems: share, applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = self.view
self.present(activityViewController, animated: true, completion: nil)

You can also use third party SDK for individual sharing

Facebook Sharing Doc

Twitter Sharing Doc

Hope this helps!