Fork Me on GitHub

DETweetComposeViewController

The iOS 4 compatible Tweet Sheet.

Download this project as a .zip file Download this project as a tar.gz file

DETweetComposeViewController

DETweetComposeViewController uses git submodules to pull in the unoffical-twitter-sdk. Be sure to run git submodule update --init on your DETweetComposeViewController clone before proceeding.

What is it?

DETweetComposeViewController is an iOS 4 compatible version of the TWTweetComposeView controller. Otherwise known as the Tweet Sheet.

Why did we make it?

The iOS 5 TWTweetComposeViewController makes it really simple to integrate Twitter posting into you applications. However we still need to support iOS 4 in many of our applications. Having something that looks and acts like the built in Tweet Sheet allows us to have a consistent user interface across iOS versions.

What does it look like?

DETweetComposeViewControllerTWTweetComposeViewController

As you can see they look very similar.

How do you use it?

  1. Add all the files from the DETweetComposeViewController/DETweetComposeViewController folder to your project.
  2. From DETweetComposeViewController/DETweeter/unofficial-twitter-sdk/unoffical-twitter-sdk, add the following to a group in your project named unoffical-twitter-sdk:
    1. JSON/
    2. OAuth/
    3. tclose.png
    4. ticon.png
    5. TwitterDialog.h
    6. TwitterDialog.m
  3. Link your project against the follwoing frameworks:
    1. Accounts.framework
    2. Twitter.framework.
  4. Set your Twitter OAuth Consumer Key and Consumer Secret in OAuthConsumerCredentials.h in your project, you will find this file in unoffical-twitter-sdk/OAuth. Don't have an OAuth consumer key and secret? Go to developer.twitter.com to create an app. Make sure your app's Access is set to 'Read and Write' and a Callback URL is defined. Both of these configurations can be found under the Settings of your Twitter app.
  5. You will notice there is an #error in OAuthConsumerCredentials.h to help ensure you remember to add your Twitter OAuth credentials, remember to delete this #error after you have added your OAuth credentials.
  6. Use it almost just like you would a TWTweetComposeViewController
#import "DETweetComposeViewController.h"
...
DETweetComposeViewController *tcvc = [[[DETweetComposeViewController alloc] init] autorelease];
[tcvc addImage:[UIImage imageNamed:@"YawkeyBusinessDog.jpg"]];
[tcvc addURL:[NSURL URLWithString:@"http://www.DoubleEncore.com/"]];
[tcvc addURL:[NSURL URLWithString:@"http://www.apple.com/ios/features.html#twitter"]];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentModalViewController:tcvc animated:YES];

What if I don't want to use the unofficial-twitter-sdk?

Just save the necessary OAuth credentils to NSUserDefaults as:

Then call the OAuth - (void) loadOAuthContextFromUserDefaults; method.

What's next?

We have some TODO items in github Issues. Please send us your feature requests, patches and pull requests.

Credits

  1. unofficial-twitter-sdk lloydsparkes
  2. InnerShadowDrawing mruegenberg