Я хочу поделиться контентом и изображениями в социальных сетях с помощью SLComposeViewController в быстром режиме. Я также сделал это в objC, но я новичок в swift development.please, предложите мне, если есть какой-либо общий класс для этой или любой библиотеки для совместного использования контента в социальных сетях в swift.как делиться контентом на facebook, twitter и instagram с помощью SLComposeViewController swift
1
A
ответ
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")
}
}