수색…
통사론
// canOpenURL 메소드는 지정된 URL 스키마를 처리 할 수있는 앱이 있는지 확인합니다.
// 빠른
UIApplication.sharedApplication (). canOpenURL (_ aUrl : NSURL)
// Objective-C
[[UIApplication sharedApplication] canOpenURL : (NSURL *) aUrl];
// openURL 메서드는 URL에있는 리소스를 열려고 시도합니다. YES / 열려 있지 않으면 true, 그렇지 않으면 false입니다.
// 빠른
UIApplication.sharedApplication (). openURL (_ aUrl : NSURL)
// Objective-C
[[UIApplication sharedApplication] openURL : (NSURL *) aUrl];
매개 변수
매개 변수 | 의미 |
---|---|
aUrl | 내장 또는 사용자 정의 구성표 문자열을 저장하는 NSURL 인스턴스 |
비고
iOS9 이상에서는 앱이 쿼리 할 URL 스키마를 나열해야합니다. 이것은 LSApplicationQueriesSchemes
를 Info.plist에 추가함으로써 LSApplicationQueriesSchemes
iOS에는 tel
, http
/ https
, sms
, mailto
, facetime
스키마가 내장되어 있습니다. 또한 Youtube
, Maps
및 iTunes
앱용 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
사용하여 앱 내에 표시 할 수도 있습니다.