2014-07-02 24 views
9

Quindi ho scritto un'app che ha bisogno di utilizzare il framework sociale per condividere il testo tramite twitter e facebook.Social Framework iOS 8 swift

Ho avuto modo di funzionare ma non ha respinto (?), Poi mi sono ricordato del gestore di completamento, ma qualunque cosa faccia questo gestore continua a darmi errori.

var okFacebook :Bool = SLComposeViewController.isAvailableForServiceType(SLServiceTypeFacebook) 
var okTwitter :Bool = SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter) 
var okLinkedIn : Bool = SLComposeViewController.isAvailableForServiceType(SLServiceTypeLinkedIn) 
var socialVC :SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeTwitter) 

socialVC.completionHandler = SLComposeViewControllerCompletionHandler(SLComposeViewControllerResult) -> Void 
self.presentViewController(socialVC, animated: true, completion: nil) 
+0

Si prega di notare: "SLServiceTypeLinkedIn" non è disponibile in iOS, come di iOS10.3, solo su macOS10.9 + – Linasses

+0

https : //iosdevcenters.blogspot.com/2017/08/how-to-share-content-with.html –

risposta

22

Provate il seguente codice, non ancora testato

socialVC.completionHandler = { 
    (result:SLComposeViewControllerResult) in 
     // Your code 
    } 
+0

Grazie amico ma ho capito come 20 minuti dopo che ho postato lol mal segnava ancora la tua risposta come corretta ma l'ho fatto in modo diverso – pjapple15

+0

socialVC.completionHandler = {result -> Void in var r = risultare SLComposeViewControllerResult interruttore (r.toRaw()) { caso SLComposeViewControllerResult.Cancelled.toRaw(): println ("annullata") caso SLComposeViewControllerResult.Done.toRaw(): println ("Done ") default: println (" Qualcosa è andato storto ") } self.dismissViewControllerAnimated (vero, completo: nil) } – pjapple15

+0

C'è un errore nel mio codice anche. l'ho appena corretto :) –

1
override func viewDidLoad() { 
    super.viewDidLoad() 

    if SLComposeViewController.isAvailableForServiceType(SLServiceTypeFacebook){ 
     var facebookSheet:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook) 


     facebookSheet.setInitialText("Hiya, I have just discovered this great app called Dwingle, which I think you're going to love.") 
     let url = NSURL(string: "") 
     facebookSheet.addURL(url) 
     self.presentViewController(facebookSheet, animated: true, completion: nil) 


     facebookSheet.completionHandler = { 

      result -> Void in 
      self.dismissViewControllerAnimated(true, completion: {() -> Void in 
       self.navigationController?.popToRootViewControllerAnimated(true) 
      }) 
     } 


    } else { 
     var 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.presentViewController(alert, animated: true, completion: nil) 
    } 
} 
Problemi correlati