Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I open a Twitter tweet using the native Twitter app on iOS?

A tweet can be opened by Safari with a link of this format:

http://twitter.com/1Direction_X/statuses/197752514391715842 

On iOS 5, Twitter is built-in. How can I open the above tweet using the native Twitter app called from my app?

like image 971
vietstone Avatar asked May 03 '12 02:05

vietstone


People also ask

Why does Twitter not open in-app?

Update the app or browser Are you running the latest version of the app or browser? If not, this might be the reason for Twitter not working. Simply check for updates for your browser, or go to the Google Play Store and check if there is a newer version of the app. Get it all upgraded and try again.


2 Answers

This is how you access other apps from your own. Just find the proper url to send for accessing status. I've included a list that should have most of the important ones. Including status finding.

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"twitter://status?id=12345"]]; 

twitter://user?screen_name=lorenb

twitter://user?id=12345

twitter://status?id=12345

twitter://timeline

twitter://mentions

twitter://messages

twitter://list?screen_name=lorenb&slug=abcd

twitter://post?message=hello%20world

twitter://post?message=hello%20world&in_reply_to_status_id=12345

twitter://search?query=%23hashtag

Note: It can be important to make sure the user has twitter installed or this will cause a crash. So I recommend adding this in an if statement before you try to send them to twitter.

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"twitter://"]]; 
like image 134
Ryan Poolos Avatar answered Oct 12 '22 14:10

Ryan Poolos


I would go with below approach...

NSURL *twitterURL = [NSURL URLWithString:@"fb://profile/<profile_id>"]; if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) {     [[UIApplication sharedApplication] openURL:twitterURL]; } else {     WebViewViewController *secondView = [self.storyboard instantiateViewControllerWithIdentifier:@"webinterface"];      secondView.headerLabel = @"Facebook";     secondView.webPath = @"https://www.facebook.com/pages/<link_for_page>";      [self.navigationController pushViewController:secondView animated:YES]; } 

in WebViewViewController I have webview and I am opening link there...

basically its like if you don't have Twitter on iPhone, it will open in WebView...

like image 31
Fahim Parkar Avatar answered Oct 12 '22 16:10

Fahim Parkar