iOS
Gestion des schémas d'URL
Recherche…
Syntaxe
// La méthode canOpenURL vérifie s'il existe une application capable de gérer le schéma d'URL indiqué.
// Rapide
UIApplication.sharedApplication (). CanOpenURL (_ aUrl: NSURL)
// Objectif c
[[UIApplication sharedApplication] canOpenURL: (NSURL *) aUrl];
// La méthode openURL tente d'ouvrir une ressource située par URL. OUI / vrai s'il était ouvert sinon NON / faux.
// Rapide
UIApplication.sharedApplication (). OpenURL (_ aUrl: NSURL)
// Objectif c
[[UIApplication sharedApplication] openURL: (NSURL *) aUrl];
Paramètres
Paramètre | Sens |
---|---|
aUrl | une instance NSURL qui stocke une chaîne de schéma intégrée ou personnalisée |
Remarques
Dans iOS9 et au-dessus, votre application doit répertorier tous les modèles d’URL à interroger. Cela se fait en ajoutant LSApplicationQueriesSchemes
à Info.plist
iOS a une prise en charge facetime
schémas tel
, http
/ https
, sms
, mailto
, facetime
. Il prend également en charge les URL basées sur http pour les applications Youtube
, Maps
et iTunes
.
Exemples de schémas d'URL intégrés:
tel : tel://123456890
ou tel:123456890
http : http://www.google.com
facetime : facetime://[email protected]
mailto : mailto://[email protected]
sms : sms://123456890
ou sms:123456890
Youtube : https://www.youtube.com/watch?v=-eCaif2QKfA
Cartes :
En utilisant l'adresse:
http://maps.apple.com/?address=1,Infinite+Loop,Cupertino,California
Utilisation des coordonnées:
http://maps.apple.com/?ll=46.683155557,6.683155557
iTunes : https://itunes.apple.com/us/artist/randy-newman/id200900
Remarque : Tous les caractères spéciaux ne sont pas pris en charge dans le schéma tel
(par exemple *
ou #
). Cela est dû à des problèmes de sécurité pour empêcher les utilisateurs de rediriger les appels sans autorisation. Dans ce cas, l'application Phone
ne sera pas ouverte.
Utilisation du schéma d'URL intégré pour ouvrir l'application Mail
Rapide:
if let url = URL(string: "mailto://[email protected]") {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.openURL(url)
} else {
print("Cannot open URL")
}
}
Objectif c:
NSURL *url = [NSURL URLWithString:@"mailto://[email protected]"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
} else {
NSLog(@"Cannot open URL");
}
Schémas d'URL Apple
Ce sont des schémas d'URL pris en charge par les applications natives sur iOS, OS X et watchOS 2 et versions ultérieures.
Lien d'ouverture dans Safari:
Objectif c
NSString *stringURL = @"http://stackoverflow.com/";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Rapide:
let stringURL = "http://stackoverflow.com/"
if let url = URL(string: stringURL) {
UIApplication.shared.openURL(url)
}
Commencer une conversation téléphonique
Objectif c
NSString *stringURL = @"tel:1-408-555-5555";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Rapide:
let stringURL = "tel:1-408-555-5555"
if let url = URL(string: stringURL) {
UIApplication.shared.openURL(url)
}
HTML
<a href="tel:1-408-555-5555">1-408-555-5555</a>
Démarrer une conversation FaceTime
Objectif c
NSString *stringURL = @"facetime:14085551234";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Rapide:
let stringURL = "facetime:14085551234"
if let url = URL(string: stringURL) {
UIApplication.shared.openURL(url)
}
HTML
<a href="facetime:14085551234">Connect using FaceTime</a>
<a href="facetime:[email protected]">Connect using FaceTime</a>
Ouverture de l'application Messages pour composer un sms au destinataire:
Objectif c
NSString *stringURL = @"sms:1-408-555-1212";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Rapide:
let stringURL = "sms:1-408-555-1212"
if let url = URL(string: stringURL) {
UIApplication.shared.openURL(url)
}
HTML
<a href="sms:">Launch Messages App</a>
<a href="sms:1-408-555-1212">New SMS Message</a>
Ouvrir l'application Mail pour composer un email au destinataire:
Objectif c
NSString *stringURL = @"mailto:[email protected]";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Rapide:
let stringURL = "mailto:[email protected]"
if let url = URL(string: stringURL) {
UIApplication.shared.openURL(url)
}
HTML
<a href="mailto:[email protected]">John Frank</a>
Vous pouvez également inclure un champ d'objet, un message et plusieurs destinataires dans les champs À, Cc et Cci. (Dans iOS, l'attribut from est ignoré.) L'exemple suivant montre une URL mailto qui inclut plusieurs attributs différents:
mailto:[email protected][email protected]&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!
Remarque: La boîte de dialogue Compose email peut également être présentée dans l'application à l'aide de MFMailComposeViewController
.