Я хочу быстро делиться контентом и изображениями в социальных сетях с помощью SLComposeViewController. Я также сделал это в objC, но я новичок в быстрой разработке. Пожалуйста, предложите мне, есть ли какой-либо общий класс для этой или любой библиотеки для быстрого обмена контентом в социальных сетях.
как делиться контентом в facebook, twitter и instagram с помощью SLComposeViewController swift
Ответы (3)
Нет необходимости в библиотеке. Что вам нужно сделать, это:
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) Код для публикации в Твиттере
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)
person
Sohil R. Memon
schedule
08.02.2016
Источник: 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.
}
}
person
Yakup Ad
schedule
29.06.2017
Класс UIActivityViewController предоставляет возможность совместного использования в любом месте.
Мы можем поделиться контентом в facebook и twitter, но для публикации 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")
}
}
person
Mr.Javed Multani
schedule
09.03.2018