Ricerca…


Sintassi

  1. // metodo canOpenURL verifica se esiste un'app in grado di gestire lo schema URL indicato.

  2. // Swift

    UIApplication.sharedApplication (). CanOpenURL (_ aUrl: NSURL)

  3. // Obiettivo-C

    [[UIApplication sharedApplication] canOpenURL: (NSURL *) aUrl];

  4. // metodo openURL tenta di aprire una risorsa localizzata dall'URL. SÌ / vero se è stato aperto altrimenti NO / falso.

  5. // Swift

    UIApplication.sharedApplication (). OpenURL (_ aUrl: NSURL)

  6. // Obiettivo-C

    [[UIApplication sharedApplication] openURL: (NSURL *) aUrl];

Parametri

Parametro Senso
aUrl un'istanza NSURL che memorizza una stringa di schema incorporata o personalizzata

Osservazioni

In iOS9 e versioni successive la tua app deve elencare qualsiasi schema URL che vorrà interrogare. Questo viene fatto aggiungendo LSApplicationQueriesSchemes a Info.plist


iOS ha il supporto integrato per gli schemi tel , http / https , sms , mailto , facetime . Supporta anche gli URL basati su http per le app di Youtube , Maps e iTunes .

Esempi di schemi di URL incorporati:

tel : tel://123456890 o tel:123456890

http : http://www.google.com

facetime : facetime://[email protected]

mailto : mailto://[email protected]

sms : sms://123456890 o sms:123456890

Youtube : https://www.youtube.com/watch?v=-eCaif2QKfA

Mappe :

  • Utilizzando l'indirizzo: http://maps.apple.com/?address=1,Infinite+Loop,Cupertino,California

  • Utilizzando le coordinate: http://maps.apple.com/?ll=46.683155557,6.683155557

iTunes : https://itunes.apple.com/us/artist/randy-newman/id200900

Nota : non tutti i caratteri speciali sono supportati nello schema tel (ad esempio * o # ). Ciò avviene a causa di problemi di sicurezza per impedire agli utenti di reindirizzare le chiamate non autorizzate, pertanto in questo caso l'app Phone non verrà aperta.

Utilizzo dello schema URL incorporato per aprire l'app Mail

Swift:

if let url = URL(string: "mailto://[email protected]") {
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.openURL(url)
    } else {
        print("Cannot open URL")
    }
}

Objective-C:

NSURL *url = [NSURL URLWithString:@"mailto://[email protected]"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
    [[UIApplication sharedApplication] openURL:url];
} else {
    NSLog(@"Cannot open URL");
}

Schemi URL Apple

Si tratta di schemi URL supportati da app native su iOS, OS X e watchOS 2 e versioni successive.

Link di apertura in Safari:

Objective-C

NSString *stringURL = @"http://stackoverflow.com/";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Swift:

let stringURL = "http://stackoverflow.com/"
if let url = URL(string: stringURL) {
    UIApplication.shared.openURL(url)
}

Avvio di una conversazione telefonica

Objective-C

NSString *stringURL = @"tel:1-408-555-5555";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Swift:

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>

Avvio di una conversazione FaceTime

Objective-C

NSString *stringURL = @"facetime:14085551234";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Swift:

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>

Apertura Messaggi App per comporre un sms al destinatario:

Objective-C

NSString *stringURL = @"sms:1-408-555-1212";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Swift:

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>

Aprire l'app Mail per comporre un'email al destinatario:

Objective-C

NSString *stringURL = @"mailto:[email protected]";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Swift:

let stringURL = "mailto:[email protected]"
if let url = URL(string: stringURL) {
    UIApplication.shared.openURL(url)
}

HTML

<a href="mailto:[email protected]">John Frank</a>

È inoltre possibile includere un campo oggetto, un messaggio e più destinatari nei campi A, Cc e Ccn. (In iOS, l'attributo from viene ignorato.) L'esempio seguente mostra un URL mailto che include diversi attributi:

mailto:[email protected][email protected]&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!

Nota: la finestra di dialogo di composizione della posta elettronica può essere presentata anche all'interno dell'app utilizzando MFMailComposeViewController .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow