2016-01-15 2 views
0

Donc, fondamentalement, je fais une application de l'événement. Tout s'est bien déroulé mais il ne reste plus qu'à partager l'événement sur Twitter.Swift: Partager du texte via Twitter

J'ai fait des recherches sur Internet, mais tout ce que je reçois est en utilisant l'application native de Twitter, que je ne veux pas. Je veux utiliser le navigateur pour tweeter.

J'ai implémenté cette méthode pour le partage de FB.

Toute idée m'aiderait beaucoup.

let content = FBSDKShareLinkContent() 

    content.contentURL=NSURL(string: "http://facebook.com") 
    content.imageURL = NSURL(string: "http://facebook.com") 

    content.contentTitle = "Shou 3emlin test app " 
    content.contentDescription = "testing testing testing" 

    let shareDialog = FBSDKShareDialog() 
    shareDialog.fromViewController = self 
    shareDialog.mode=FBSDKShareDialogMode.Browser 
    shareDialog.shareContent = content 


    if !shareDialog.canShow() { 
     shareDialog.mode=FBSDKShareDialogMode.Native 
     shareDialog.shareContent = content 
    } 

    if shareDialog.canShow() { 
     shareDialog.show() 
    } 

Répondre

1

Mettre cela dans une méthode d'action d'un bouton ou dans la méthode où vous voulez utiliser le navigateur pour tweetez votre texte Swift 3.0:

let tweetText = "your text" 
let tweetUrl = "http://stackoverflow.com/" 

let shareString = "https://twitter.com/intent/tweet?text=\(tweetText)&url=\(tweetUrl)" 

// encode a space to %20 for example 
let escapedShareString = shareString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)! 

// cast to an url 
let url = URL(string: escapedShareString) 

// open in safari 
UIApplication.shared.openURL(url!) 

Résultat:

enter image description here

1

Jetez un oeil à Fabric.io. Ce SDK vous permet de composer des tweets directement à partir de votre application.

let composer = TWTRComposer() 

composer.setText("just setting up my Fabric") 
composer.setImage(UIImage(named: "fabric")) 

// Called from a UIViewController 
composer.showFromViewController(self) { result in 
    if (result == TWTRComposerResult.Cancelled) { 
     print("Tweet composition cancelled") 
    } 
    else { 
     print("Sending tweet!") 
    } 
}