2012-01-23 11 views
21

Strona chcę otworzyć pomocą Twitter app:Jak otworzyć stronę Twittera w aplikacji Twitter z mojej aplikacji na iPhone'a?

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

Aby otworzyć aplikację twitter używam następujący kod:

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

ale ten kod nie wydają się działaj zgodnie z oczekiwaniami, dostałem tylko aplikację twitter uruchomioną bez strony, którą chcę pokazać.

Odpowiedz

38

Szukasz następującym adresem URL:

twitter:///user?screen_name=PAGE 

Zauważ, że Twitter nie jest zainstalowany na wszystkich urządzeniach. Powinieneś sprawdzić wynik metody openURL. Jeśli się nie powiedzie, otwórz stronę w Safari przy użyciu zwykłego adresu URL.

+4

Istnieją trzy ukośniki pokazano na URL tej odpowiedzi. Używanie dwóch pracowało dla mnie. –

14

Znam dość późną odpowiedź na to pytanie i zgadzam się, że odpowiedź Murata jest absolutnie poprawna. Wystarczy dodać czek następująco:

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

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

Mam nadzieję, że ktoś pomoże. Twoje zdrowie!! :)

2

@Alexey: Jeśli chcesz tylko wiedzieć, jak uruchomić Twittera z aplikacji to zrobić:

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

Poniższy kod otwiera stronę Twittera aplikacji twitter, jeżeli jest już zainstalowane, inaczej otwiera Twitter na 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"]]; 

nie zapomnij zastąpić 'login' z nazwy.

+0

Pamiętaj również o dodaniu LSApplicationQueriesSchemes do info.plist. – appthumb

0

To jest pełny kod wymagany w Swift. Używam Swift 4, ale uważam, że jest taki sam dla Swift 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) 
    } 
Powiązane problemy