2014-07-02 19 views
9

Vì vậy, tôi đã viết một ứng dụng cần sử dụng khung công tác xã hội để chia sẻ văn bản qua twitter và facebook.Khuôn khổ xã hội iOS 8 swift

Tôi đã làm việc đó nhưng nó không loại bỏ (?), Sau đó tôi nhớ trình xử lý hoàn thành, nhưng bất cứ điều gì tôi làm điều này xử lý tiếp tục cho tôi lỗi.

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

Xin lưu ý: "SLServiceTypeLinkedIn" không có sẵn trong iOS, tính đến iOS10.3, chỉ có trên macOS10.9 + – Linasses

+0

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

Trả lời

22

Hãy thử đoạn mã sau, chưa được thử nghiệm

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

Cảm ơn người đàn ông nhưng tôi đã tìm ra như 20 phút sau khi tôi đăng lol bệnh vẫn đánh dấu câu trả lời của bạn là chính xác nhưng tôi đã làm nó một cách khác nhau – pjapple15

+0

socialVC.completionHandler = {result -> Void in var r = kết quả như SLComposeViewControllerResult switch (r.toRaw()) {case SLComposeViewControllerResult.Cancelled.toRaw(): println ("hủy") trường hợp SLComposeViewControllerResult.Done.toRaw(): println ("Done ") mặc định: println (" một cái gì đó đã đi sai ") } self.dismissViewControllerAnimated (true, hoàn thành: nil) } – pjapple15

+0

có một lỗi trong mã của tôi cũng có. tôi chỉ sửa chữa nó :) –

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