2012-01-23 87 views
21

我想用Twitter的應用程序中打開頁面:如何在我的iphone應用程序的twitter應用程序中打開twitter頁面?

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

要打開我使用下面的代碼Twitter的應用程序:

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

但這代碼似乎沒有不按預期工作,我只在沒有我想要顯示的頁面的情況下啓動Twitter應用程序。

回答

38

您正在尋找下列網址:

twitter:///user?screen_name=PAGE 

注意的Twitter是不是在所有設備上安裝。您應該檢查openURL方法的結果。如果失敗,請使用常規網址在Safari中打開頁面。

+4

有三個正斜槓的URL爲這個答案所示。使用兩個爲我工作。 –

14

我知道它對這個問題的迴應很晚,我同意穆拉特的回答是絕對正確的。 只需添加一個檢查的過程如下:

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

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

我希望這可以幫助別人。乾杯!! :)

2

@Alexey:如果你只是想知道如何從您的應用程序推出的Twitter這樣做:

NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"twitter://"]]; 
    if ([[UIApplication sharedApplication] canOpenURL:urlApp]){ 
     [[UIApplication sharedApplication] openURL:urlApp]; 
    }else{ 
     UIAlertView *appMissingAlertView = [[UIAlertView alloc] initWithTitle:@"Twitter App Not Installed!" message:@"Please install the Twitter App on your iPhone." delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Ok",nil]; 
     [appMissingAlertView show]; 
     [appMissingAlertView release]; 
    } 
11

下面的代碼打開上如果已經安裝了Twitter的應用程序的Twitter頁面,否則打開嘰嘰喳喳在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"]]; 

不要忘了你的名字來代替 '用戶名'。

+0

還記得添加LSApplicationQueriesSchemes到info.plist。 – appthumb

0

這是Swift需要的完整代碼。我使用雨燕4,但我相信這是斯威夫特3.同一Don't forget to allow access to using the scheme in your info.plist file.

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 Instagram app is not installed, open URL inside Safari 
     application.open(webURL as URL) 
    } 
相關問題