La page que je veux ouvrir à l'aide de l'application Twitter:
Pour ouvrir l'application Twitter, j'utilise le code suivant:
NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"Twitter://https://Twitter.com/#!/PAGE"]];
[[UIApplication sharedApplication] openURL:urlApp];
Mais ce code ne semble pas fonctionner comme prévu, seule l'application Twitter a été lancée sans la page que je souhaite afficher.
Vous recherchez l'URL suivante:
Twitter:///user?screen_name=PAGE
Notez que Twitter n'est pas installé sur tous les appareils. Vous devriez vérifier le résultat de la méthode openURL
. Si cela échoue, ouvrez la page dans Safari avec une URL normale.
Je sais que la réponse à cette question est assez tardive et je suis d’accord pour dire que la réponse de Murat est tout à fait correcte. Ajoutez simplement un chèque comme suit:
NSURL *urlApp = [NSURL URLWithString: [NSString stringWithFormat:@"%@", @"Twitter:///user?screen_name=PAGE]];
if ([[UIApplication sharedApplication] canOpenURL:urlApp]){
[[UIApplication sharedApplication] openURL:urlApp];
}
J'espère que ça aidera quelqu'un. À votre santé!! :)
Le code suivant ouvre la page Twitter sur l'application Twitter si elle est déjà installée, sinon ouvre Twitter sur 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"]];
N'oubliez pas de remplacer "nom d'utilisateur" par votre nom.
@Alexey: Si vous voulez juste savoir comment lancer Twitter depuis votre application, faites ceci:
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];
}
C'est le code complet requis dans Swift. J'utilise Swift 4 mais je pense que c'est la même chose pour 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 Instagram app is not installed, open URL inside Safari
application.open(webURL as URL)
}
N'oubliez pas d'ajouter les clés Info nécessaires pour utiliser canOpenURL
: