Cách tweet bằng SLComposeViewController。
Cách tweet bằng SLComposeViewController。 Đầu tiên cần import Social trong ViewController.swift 。 Sau đó chúng ta thêm button(có thể đặt tên theo code bên dưới là tweet,Actionname:tweetAction) và thêm method dưới vào ViewController.swift @IBAction func tweetAction(sender: AnyObject) { // ...
Cách tweet bằng SLComposeViewController。 Đầu tiên cần import Social trong ViewController.swift 。 Sau đó chúng ta thêm button(có thể đặt tên theo code bên dưới là tweet,Actionname:tweetAction) và thêm method dưới vào ViewController.swift
@IBAction func tweetAction(sender: AnyObject) { // code đơn giản nhất để twitter if SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter) { // check quyền dùng let composeCtl = SLComposeViewController(forServiceType: SLServiceTypeTwitter) composeCtl.completionHandler = {result in if result == SLComposeViewControllerResult.Done { // xử lí khi tweet thành công println("Tweet Done ") } } self.presentViewController(composeCtl, animated: true, completion:nil) } }
:Không cần chứng nhận gì, Chỉ cần thiết lập trên simulator hoặc IOS framework nên rất đơn giản 。 Ngoài ra có thể thêm ảnh bằng method addImage,hoặc dán URL bằng method addURL,nhanh gọn
Về phía Twitter thì họ cũng khuyên nên thêm các xử lí bên dưới (có chứa addImage、addURL),mình viết bằng swift.
・thêm button vào Storyboard(Actionname :「recommendedTweetAction」)
・code của recommendedTweetAction
@IBAction func recommendedTweetAction(sender: AnyObject) { // Create an instance of the Tweet Sheet let tweetSheet = SLComposeViewController(forServiceType: SLServiceTypeTwitter) // Sets the completion handler. Note that we don't know which thread the // block will be called on, so we need to ensure that any UI updates occur // on the main queue tweetSheet.completionHandler = {result in switch (result) { // This means the user cancelled without sending the Tweet case SLComposeViewControllerResult.Cancelled: println("SLComposeViewControllerResult.Cancelled") // This means the user hit 'Send' case SLComposeViewControllerResult.Done: println("SLComposeViewControllerResult.Done") } // dismiss the Tweet Sheet dispatch_async(dispatch_get_main_queue(), { self.dismissViewControllerAnimated(true, completion: { println("Tweet Sheet has been dismissed.") }) }) } // Set the initial body of the Tweet tweetSheet.setInitialText("just setting up my twttr") // Adds an image to the Tweet. For demo purposes, assume we have an // image named 'larry.png' that we wish to attach if !tweetSheet.addImage(UIImage(named: "xcodeIcon.png")) { println("Unable to add the image!") } // Add an URL to the Tweet. You can add multiple URLs. if !tweetSheet.addURL(NSURL(string: "http://twitter.com/")) { println("Unable to add the URL!") } // Presents the Tweet Sheet to the user self.presentViewController(tweetSheet, animated:true, completion: { println("Tweet sheet has been presented.") }) }
Bên trên mình đã hướng dẫn dùng code đơn giản nhất để tweet và các xử lí bên Twitter khuyên,