2012-01-23 19 views
21

La página Quiero abrir mediante aplicación de Twitter:¿Cómo abrir la página de Twitter en la aplicación de Twitter desde mi aplicación de iPhone?

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

Para abrir aplicación de Twitter que uso el siguiente código:

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

Pero este código no parece trabajo como se esperaba, solo lancé la aplicación de Twitter sin la página que quiero mostrar.

Respuesta

38

Usted está buscando la siguiente url:

twitter:///user?screen_name=PAGE 

Tenga en cuenta que Twitter no está instalado en todos los dispositivos. Debe verificar el resultado del método openURL. Si falla, abre la página en Safari con la url regular.

+4

Hay tres barras se muestra en la URL para esta respuesta. Usar dos funcionó para mí. –

14

Sé que es una respuesta bastante tardía a esta pregunta y estoy de acuerdo en que, la respuesta de Murat es absolutamente correcta. Basta con añadir una comprobación de la siguiente manera:

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

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

espero que esto ayude a alguien. ¡¡Aclamaciones!! :)

2

@Alexey: Si lo que desea saber cómo iniciar Twitter desde la aplicación hacer esto:

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

El código siguiente abre la página de twitter de aplicación de Twitter si ya está instalado, de lo contrario se abre Twitter de 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"]]; 

no se olvide de reemplazar 'username' con su nombre.

+0

Recuerde también agregar LSApplicationQueriesSchemes a info.plist. – appthumb

0

Este es el código completo requerido en Swift. Estoy utilizando Swift 4 pero yo creo que es el mismo para 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) 
    } 
Cuestiones relacionadas