Kit de Twitter – iOS

Pensé que Twitter Kit debía ayudar a los desarrolladores a integrar Twitter en unas pocas líneas de código. La documentation en línea es pobre, por decir lo less. Simplemente estoy tratando de mostrar la línea de time de un solo usuario en mi aplicación dentro de un controller de vista de tabla. Quiero solo lectura, solo para invitados acceso a la línea de time. La siguiente copy / pegado de la documentation en línea simplemente muestra 2 celdas pobladas con una image en gris y un logotipo de Twitter pero sin tweets. ¿Qué está mal? Gracias

import UIKit import TwitterKit class TwitterViewController: UITableViewController, TWTRTweetViewDelegate { let tweetTableReuseIdentifier = "TweetCell" // Hold all the loaded Tweets var tweets: [TWTRTweet] = [] { didSet { tableView.reloadData() } } let tweetIDs = ["20", // @jack's first Tweet "510908133917487104"] // our favorite bike Tweet override func viewDidLoad() { // Setup the table view tableView.estimatedRowHeight = 150 tableView.rowHeight = UITableViewAutomaticDimension // Explicitly set on iOS 8 if using automatic row height calculation tableView.allowsSelection = false tableView.registerClass(TWTRTweetTableViewCell.self, forCellReuseIdentifier: tweetTableReuseIdentifier) Twitter.shanetworkingInstance().logInGuestWithCompletion { guestSession, error in if (guestSession != nil) { // make API calls that do not require user auth } else { println("error: \(error.localizedDescription)"); } } // Load Tweets Twitter.shanetworkingInstance().APIClient.loadTweetsWithIDs(tweetIDs) { tweets, error in if let ts = tweets as? [TWTRTweet] { self.tweets = ts } else { println("Failed to load tweets: \(error.localizedDescription)") } } } // MARK: UITableViewDelegate Methods override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.tweets.count } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let tweet = tweets[indexPath.row] let cell = tableView.dequeueReusableCellWithIdentifier(tweetTableReuseIdentifier, forIndexPath: indexPath) as TWTRTweetTableViewCell cell.tweetView.delegate = self return cell } override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { let tweet = tweets[indexPath.row] return TWTRTweetTableViewCell.heightForTweet(tweet, width: CGRectGetWidth(self.view.bounds)) } } 

cell.configureWithTweet(tweet) llamar: cell.configureWithTweet(tweet)

en tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)

Steven aquí, uno de los desarrolladores de Kit de Twitter.

La mejor manera de hacerlo ahora es subclass TWTRTimelineViewController y establecer la propiedad dataSource .

 class UserTimelineViewController: TWTRTimelineViewController, TWTRTweetViewDelegate { convenience init() { // Show a timeline of @jack's Tweets let dataSource = TWTRUserTimelineDataSource(screenName: "jack", APIClient: TWTRAPIClient()) self.init(dataSource: dataSource) // Set the title for Nav bar self.title = "@\(dataSource.screenName)" } func tweetView(tweetView: TWTRTweetView, didSelectTweet tweet: TWTRTweet) { // Log a message whenever a user taps on a tweet print("Selected tweet with ID: \(tweet.tweetID)") } } 

Captura de pantalla de la línea de tiempo del usuario