2016-02-08 9 views
1

Я хочу поделиться контентом и изображениями в социальных сетях с помощью SLComposeViewController в быстром режиме. Я также сделал это в objC, но я новичок в swift development.please, предложите мне, если есть какой-либо общий класс для этой или любой библиотеки для совместного использования контента в социальных сетях в swift.как делиться контентом на facebook, twitter и instagram с помощью SLComposeViewController swift

ответ

4

Библиотеки нет необходимости в библиотеке. Что вам нужно сделать:

1) Просто импортируйте каркас Social.

2) Код, чтобы отправить на Facebook

let vc = SLComposeViewController(forServiceType: SLServiceTypeFacebook) 
vc.setInitialText("Picture Text") 
vc.addImage(detailImageView.image!) 
vc.addURL(NSURL(string: "http://anyurl.com")) 
presentViewController(vc, animated: true, completion: nil) 

3) Кодекса разместить на Twitter

let vc = SLComposeViewController(forServiceType: SLServiceTypeTwitter) 
vc.setInitialText("Picture Text") 
vc.addImage(detailImageView.image!) 
vc.addURL(NSURL(string: "http://anyurl.com")) 
presentViewController(vc, animated: true, completion: nil) 
1

Источник: https://www.youtube.com/watch?v=B_x-ccc8Iuc

import UIKit 
import Social 

class ViewController: UIViewController { 

@IBAction func buttonAction(_ sender: Any) //Add Storyboard a button 
{ 
    //Alert 
    let alert = UIAlertController(title: "Share", message: "Share the poem of the day!", preferredStyle: .actionSheet) 

    //First action 
    let actionOne = UIAlertAction(title: "Share on Facebook", style: .default) { (action) in 

     //Checking if user is connected to Facebook 
     if SLComposeViewController.isAvailable(forServiceType: SLServiceTypeFacebook) 
     { 
      let post = SLComposeViewController(forServiceType: SLServiceTypeFacebook)! 

      post.setInitialText("Poem of the day") 
      post.add(UIImage(named: "img.png")) 

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

     } else {self.showAlert(service: "Facebook")} 
    } 

    //Second action 
    let actionTwo = UIAlertAction(title: "Share on Twitter", style: .default) { (action) in 

     //Checking if user is connected to Facebook 
     if SLComposeViewController.isAvailable(forServiceType: SLServiceTypeTwitter) 
     { 
      let post = SLComposeViewController(forServiceType: SLServiceTypeTwitter)! 

      post.setInitialText("Poem of the day") 
      post.add(UIImage(named: "img.png")) 

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

     } else {self.showAlert(service: "Twitter")} 
    } 

    let actionThree = UIAlertAction(title: "Cancel", style: .cancel, handler: nil) 

    //Add action to action sheet 
    alert.addAction(actionOne) 
    alert.addAction(actionTwo) 
    alert.addAction(actionThree) 

    //Present alert 
    self.present(alert, animated: true, completion: nil) 
} 

func showAlert(service:String) 
{ 
    let alert = UIAlertController(title: "Error", message: "You are not connected to \(service)", preferredStyle: .alert) 
    let action = UIAlertAction(title: "Dismiss", style: .cancel, handler: nil) 

    alert.addAction(action) 
    present(alert, animated: true, completion: nil) 
} 


override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 
} 
0

UIActivityViewController класс обеспечить обмен вариант в любом месте.

Мы можем обмениваться контентом в facebook и twitter.but для instagram Совместное использование мы должны использовать UIActivityViewController.

Импорт социального как

import Social 

Facebook: Разрешить изображения, содержание и URL.

@IBAction func facebookButtonShare(_ sender: Any) { 
if SLComposeViewController.isAvailable(forServiceType: SLServiceTypeFacebook) { 

    let facebookShare = SLComposeViewController(forServiceType: SLServiceTypeFacebook) 
    if let facebookShare= facebookShare{ 
     facebookShare.setInitialText("Excellent development") 
     facebookShare.add(UIImage(named: "myProduct.jpg")!) 
     facebookShare.add(URL(string: "https://stackoverflow.com/users/4600136/mr-javed-multani?tab=profile")) 
     self.present(facebookShare, animated: true, completion: nil) 
    } 
} else { 
     print("Not Available") 
} 
} 

Twitter: Разрешить изображения, содержание и URL.

@IBAction func tweetButtonShare(_ sender: Any) { 
if SLComposeViewController.isAvailable(forServiceType: SLServiceTypeTwitter) { 

    let tweetShare = SLComposeViewController(forServiceType: SLServiceTypeTwitter) 
    if let tweetShare = tweetShare { 
     tweetShare.setInitialText("Excellent development") 
     tweetShare.add(UIImage(named: "iOS.jpg")!) 
     tweetShare.add(URL(string: "https://stackoverflow.com/users/4600136/mr-javed-multani?tab=profile")) 
     self.present(tweetShare, animated: true, completion: nil) 
    } 
} else { 
     print("Not Available") 
} 
} 

enter image description here enter image description here

 Смежные вопросы

  • Нет связанных вопросов^_^