수색…


통사론

  1. // canOpenURL 메소드는 지정된 URL 스키마를 처리 할 수있는 앱이 있는지 확인합니다.

  2. // 빠른

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

  3. // Objective-C

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

  4. // openURL 메서드는 URL에있는 리소스를 열려고 시도합니다. YES / 열려 있지 않으면 true, 그렇지 않으면 false입니다.

  5. // 빠른

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

  6. // Objective-C

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

매개 변수

매개 변수 의미
aUrl 내장 또는 사용자 정의 구성표 문자열을 저장하는 NSURL 인스턴스

비고

iOS9 이상에서는 앱이 쿼리 할 URL 스키마를 나열해야합니다. 이것은 LSApplicationQueriesSchemes 를 Info.plist에 추가함으로써 LSApplicationQueriesSchemes


iOS에는 tel , http / https , sms , mailto , facetime 스키마가 내장되어 있습니다. 또한 Youtube , MapsiTunes 앱용 http 기반 URL을 지원합니다.

기본 제공 URL 스키마의 예 :

tel : tel://123456890 또는 tel:123456890

http : http://www.google.com

facetime : facetime://[email protected]

mailto : mailto://[email protected]

sms : sms://123456890 또는 sms:123456890

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

지도 :

  • 주소 사용 : http://maps.apple.com/?address=1,Infinite+Loop,Cupertino,California

  • 좌표 사용 : http://maps.apple.com/?ll=46.683155557,6.683155557

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

참고 : 모든 특수 문자가 tel 체계에서 지원되는 것은 아닙니다 (예 : * 또는 # ). 이는 사용자가 무단으로 전화를 리디렉션하지 못하도록하는 보안 문제로 인해 수행됩니다. 따라서이 경우 Phone 앱이 열리지 않습니다.

기본 제공 URL 스키마를 사용하여 Mail 앱 열기

빠른:

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

목표 -C :

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

Apple URL 체계

이것들은 iOS, OS X 및 watchOS 2 이상의 기본 응용 프로그램에서 지원하는 URL 체계입니다.

Safari에서 링크 열기 :

목표 -C

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

빠른:

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

전화 대화 시작하기

목표 -C

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

빠른:

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>

FaceTime 대화 시작하기

목표 -C

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

빠른:

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>

메시지 열기 수신자에게 SMS를 작성하는 앱 :

목표 -C

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

빠른:

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 응용 프로그램을 열어받는 사람에게 전자 메일을 작성하십시오.

목표 -C

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

빠른:

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

HTML

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

받는 사람, 참조 및 숨은 참조 필드에는 제목 필드, 메시지 및 여러 수신인을 포함 할 수도 있습니다. (iOS에서 from 속성은 무시됩니다.) 다음 예제는 여러 가지 속성을 포함하는 mailto URL을 보여줍니다.

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

참고 : 이메일 작성 대화 상자는 MFMailComposeViewController 사용하여 앱 내에 표시 할 수도 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow