Szukaj…


Składnia

  1. // Metoda canOpenURL sprawdza, czy jest jakaś aplikacja, która może obsługiwać wskazany schemat adresów URL.

  2. // Szybki

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

  3. // Cel C

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

  4. // metoda openURL próbuje otworzyć zasób znajdujący się pod adresem URL. TAK / prawda, jeśli została otwarta inaczej NIE / fałsz.

  5. // Szybki

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

  6. // Cel C

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

Parametry

Parametr Znaczenie
aurl instancja NSURL, która przechowuje wbudowany lub niestandardowy ciąg schematu

Uwagi

W iOS9 i nowszych twoja aplikacja musi wymieniać wszystkie schematy URL, które będzie chciał zapytać. Odbywa się to poprzez dodanie LSApplicationQueriesSchemes do Info.plist


iOS ma wbudowane wsparcie dla schematów tel , http / https , sms , mailto , facetime . Obsługuje również adresy URL oparte na http dla aplikacji Youtube , Maps i iTunes .

Przykłady wbudowanych schematów URL:

tel : tel://123456890 lub tel:123456890

http : http://www.google.com

FaceTime: facetime://[email protected]

mailto : mailto://[email protected]

sms : sms://123456890 lub sms:123456890

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

Mapy :

  • Za pomocą adresu: http://maps.apple.com/?address=1,Infinite+Loop,Cupertino,California

  • Korzystanie ze współrzędnych: http://maps.apple.com/?ll=46.683155557,6.683155557

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

Uwaga : Nie wszystkie znaki specjalne są obsługiwane w schemacie tel (na przykład * lub # ). Odbywa się to ze względów bezpieczeństwa, aby uniemożliwić użytkownikom nieautoryzowane przekierowanie połączeń, więc w tym przypadku aplikacja Phone nie zostanie otwarta.

Korzystanie z wbudowanego schematu URL do otwierania aplikacji Mail

Szybki:

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

Cel C:

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

Schematy adresów URL Apple

Są to schematy URL obsługiwane przez natywne aplikacje na iOS, OS X i watchOS 2 i nowsze.

Link otwierający w Safari:

Cel C

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

Szybki:

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

Rozpoczęcie rozmowy telefonicznej

Cel C

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

Szybki:

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>

Rozpoczynanie rozmowy FaceTime

Cel C

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

Szybki:

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>

Otwieranie aplikacji Wiadomości, aby utworzyć SMS-a do odbiorcy:

Cel C

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

Szybki:

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>

Otwieranie aplikacji Mail w celu napisania wiadomości e-mail do odbiorcy:

Cel C

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

Szybki:

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

HTML

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

Możesz także dołączyć pole tematu, wiadomość i wielu odbiorców w polach Do, DW i UDW. (W systemie iOS atrybut From jest ignorowany.) Poniższy przykład pokazuje adres URL mailto, który zawiera kilka różnych atrybutów:

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

Uwaga: okno dialogowe Utwórz wiadomość e-mail można również wyświetlić w aplikacji za pomocą MFMailComposeViewController .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow