2014-07-02 43 views
9

Bu yüzden twitter ve facebook aracılığıyla metin paylaşmak için Sosyal çerçeve kullanması gereken bir uygulama yazıyorum.Sosyal Çerçeve iOS 8 swift

Çalışmayı anladım ama işten çıkarmadım (?), Sonra tamamlama işleyicisini hatırladım, ancak bu işleyiciyi ne yaparsam yapayım bana hata veriyor.

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

unutmayın: "SLServiceTypeLinkedIn" sadece macOS10.9 üzerine, iOS10.3 itibariyle iOS kullanılamaz + – Linasses

+0

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

cevap

22

henüz test edilmemiş şu kod, deneyin

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

Teşekkürler adamım ama 20 yıl gibi bir mesaj gönderdikten sonra, yine de cevabını doğru olarak işaretledim ama yine de farklı bir şekilde yaptım. – pjapple15

+0

socialVC.completionHandler = {sonuç -> 'te geçersiz "Done ( println: println ("İptal") durumda SLComposeViewControllerResult.Done.toRaw():var r = SLComposeViewControllerResult olarak anahtarı (r.toRaw()) { durumda SLComposeViewControllerResult.Cancelled.toRaw() sonucu ") varsayılan: println (": nil) } – pjapple15

+0

Ayrıca benim kodda bir hata var şey } self.dismissViewControllerAnimated (true, tamamlama) "ters gitti. sadece düzeltdim :) –

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