iOS
Umgang mit URL-Schemata
Suche…
Syntax
// Die canOpenURL- Methode überprüft, ob eine App das angegebene URL-Schema verarbeiten kann.
// schnell
UIApplication.sharedApplication (). CanOpenURL (_ aUrl: NSURL)
// Ziel c
[[UIApplication sharedApplication] canOpenURL: (NSURL *) aUrl];
// Die openURL- Methode versucht, eine Ressource nach URL zu öffnen. JA / wahr, wenn geöffnet, sonst NEIN / falsch.
// schnell
UIApplication.sharedApplication (). OpenURL (_ aUrl: NSURL)
// Ziel c
[[UIApplication sharedApplication] openURL: (NSURL *) aUrl];
Parameter
Parameter | Bedeutung |
---|---|
aUrl | eine NSURL-Instanz, in der eine integrierte oder benutzerdefinierte Schemazeichenfolge gespeichert wird |
Bemerkungen
In iOS9 und darüber muss Ihre App alle URL-Schemen auflisten, die abgefragt werden sollen. Dies geschieht durch Hinzufügen von LSApplicationQueriesSchemes
zu Info.plist
iOS verfügt über eine integrierte Unterstützung für die Schemata tel
, http
/ https
, sms
, mailto
und facetime
. Es unterstützt auch http-basierte URLs für Youtube
, Maps
und iTunes
Apps.
Beispiele für integrierte URL-Schemata:
tel : tel://123456890
oder tel:123456890
http : http://www.google.com
facetime : facetime://[email protected]
mailto : mailto://[email protected]
SMS: sms://123456890
oder sms:123456890
Youtube : https://www.youtube.com/watch?v=-eCaif2QKfA
Karten :
Verwenden Sie die Adresse:
http://maps.apple.com/?address=1,Infinite+Loop,Cupertino,California
Verwenden von Koordinaten:
http://maps.apple.com/?ll=46.683155557,6.683155557
iTunes : https://itunes.apple.com/us/artist/randy-newman/id200900
Hinweis : Im tel
Schema werden nicht alle Sonderzeichen unterstützt (z. B. *
oder #
). Dies geschieht aus Sicherheitsgründen, um zu verhindern, dass Benutzer unbefugte Anrufe umleiten können. In diesem Fall wird die Phone
App nicht geöffnet.
Verwenden des integrierten URL-Schemas zum Öffnen der Mail-App
Schnell:
if let url = URL(string: "mailto://[email protected]") {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.openURL(url)
} else {
print("Cannot open URL")
}
}
Ziel c:
NSURL *url = [NSURL URLWithString:@"mailto://[email protected]"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
} else {
NSLog(@"Cannot open URL");
}
Apple URL-Schemata
Dies sind URL-Schemata, die von nativen Apps unter iOS, OS X und watchOS 2 und höher unterstützt werden.
Eröffnungslink in Safari:
Ziel c
NSString *stringURL = @"http://stackoverflow.com/";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Schnell:
let stringURL = "http://stackoverflow.com/"
if let url = URL(string: stringURL) {
UIApplication.shared.openURL(url)
}
Ein Telefongespräch starten
Ziel c
NSString *stringURL = @"tel:1-408-555-5555";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Schnell:
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>
Starten einer FaceTime-Konversation
Ziel c
NSString *stringURL = @"facetime:14085551234";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Schnell:
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>
Nachrichten-App öffnen, um eine SMS an den Empfänger zu verfassen:
Ziel c
NSString *stringURL = @"sms:1-408-555-1212";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Schnell:
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>
Mail-App öffnen, um eine E-Mail an den Empfänger zu erstellen:
Ziel c
NSString *stringURL = @"mailto:[email protected]";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
Schnell:
let stringURL = "mailto:[email protected]"
if let url = URL(string: stringURL) {
UIApplication.shared.openURL(url)
}
HTML
<a href="mailto:[email protected]">John Frank</a>
Sie können auch ein Betrefffeld, eine Nachricht und mehrere Empfänger in die Felder An, Cc und Bcc aufnehmen. (In iOS wird das from-Attribut ignoriert.) Das folgende Beispiel zeigt eine mailto-URL, die mehrere verschiedene Attribute enthält:
mailto:[email protected][email protected]&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!
Hinweis: Der Dialog zum MFMailComposeViewController
E-Mails kann auch innerhalb der App mit MFMailComposeViewController
.