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?
As you can see they look very similar.
How do you use it?
- Add all the files from the DETweetComposeViewController/DETweetComposeViewController folder to your project.
- From DETweetComposeViewController/DETweeter/unofficial-twitter-sdk/unoffical-twitter-sdk, add the following to a group in your project named unoffical-twitter-sdk:
- JSON/
- OAuth/
- tclose.png
- ticon.png
- TwitterDialog.h
- TwitterDialog.m
- Link your project against the follwoing frameworks:
- Accounts.framework
- Twitter.framework.
- 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.
- 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.
- 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:
- detwitter_oauth_token
- detwitter_oauth_token_secret
- detwitter_oauth_token_authorized
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
- unofficial-twitter-sdk lloydsparkes
- InnerShadowDrawing mruegenberg