Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to open twitter page in twitter app from my iphone app?

The page I want to open using twitter app:

https://twitter.com/#!/PAGE

To open twitter app I use the following code:

NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"twitter://https://twitter.com/#!/PAGE"]];
[[UIApplication sharedApplication] openURL:urlApp];

But this code doesn't seem to work as expected, I got only twitter app launched without the page which i want to show.

like image 528
Alexey Avatar asked Jan 23 '12 16:01

Alexey


4 Answers

You are looking for the following url:

twitter:///user?screen_name=PAGE

Note that Twitter is not installed on all devices. You should check the result of openURL method. If it fails, open the page in Safari with regular url.

like image 125
murat Avatar answered Oct 26 '22 07:10

murat


I know its quite a late response to this question and I agree that, Murat's answer is absolutely correct. Simply add a check as follows:

NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"twitter:///user?screen_name=PAGE]];

if ([[UIApplication sharedApplication] canOpenURL:urlApp]){
        [[UIApplication sharedApplication] openURL:urlApp];
    }

I hope this helps someone. Cheers!! :)

like image 22
Apple_iOS0304 Avatar answered Oct 26 '22 06:10

Apple_iOS0304


The following code opens twitter page on twitter app if it is already installed, otherwise opens twitter on safari:

NSURL *twitterURL = [NSURL URLWithString:@"twitter://user?screen_name=username"];
if ([[UIApplication sharedApplication] canOpenURL:twitterURL])
    [[UIApplication sharedApplication] openURL:twitterURL];
else
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.twitter.com/username"]];

Don't forget to replace 'username' with your name.

like image 14
Basem Saadawy Avatar answered Oct 26 '22 07:10

Basem Saadawy


This is the full code required in Swift. I am using Swift 4 but i believe it is the same for Swift 3.

let Username =  "YOUR_USERNAME_HERE" 
let appURL = NSURL(string: "twitter:///user?screen_name=\(Username)")!
let webURL = NSURL(string: "https://twitter.com/\(Username)")!
let application = UIApplication.shared
if application.canOpenURL(appURL as URL) {
      application.open(appURL as URL)
    } else {
        // if Twitter app is not installed, open URL inside Safari
        application.open(webURL as URL)
    }

Don't forget to add the Info keys needed to use canOpenURL: Info Keys Needed

like image 6
jokenge Avatar answered Oct 26 '22 05:10

jokenge