サーチ…
構文
// canOpenURLメソッドは、指定されたURLスキームを処理できるアプリケーションがあるかどうかを確認します。
// Swift
UIApplication.sharedApplication()。canOpenURL(_ aUrl:NSURL)
// Objective-C
[[UIApplication sharedApplication] canOpenURL:(NSURL *)aUrl];
// openURLメソッドは、URLにあるリソースを開こうとします。 YES /開いていればtrue、そうでない場合はNO / false。
// Swift
UIApplication.sharedApplication()。openURL(_ aUrl:NSURL)
// Objective-C
[[UIApplication sharedApplication] openURL:(NSURL *)aUrl];
パラメーター
| パラメータ | 意味 |
|---|---|
| aUrl | 組み込みまたはカスタムスキーム文字列を格納するNSURLインスタンス |
備考
iOS9以降では、アプリはクエリを行うURLスキームを列挙しなければなりません。これは、 LSApplicationQueriesSchemesをInfo.plistに追加することによって行われます。
iOSにはtel 、 http / https 、 sms 、 mailto 、 facetimeスキームの組み込みサポートがありhttps 。また、 YoutubeベースのURL、 Maps 、 iTunesアプリのhttpベースのURLもサポートしています。
ビルトインURLスキームの例:
tel : tel://123456890 or tel:123456890
http : 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 : https://www.youtube.com/watch?v=-eCaif2QKfA
マップ :
アドレスの使用:
http://maps.apple.com/?address=1,Infinite+Loop,Cupertino,California:http://maps.apple.com/?address=1,Infinite+Loop,Cupertino,Californiaaddress=1,http://maps.apple.com/?address=1,Infinite+Loop,Cupertino,California座標の使用:
http://maps.apple.com/?ll=46.683155557,6.683155557:http://maps.apple.com/?ll=46.683155557,6.683155557
iTunes : https://itunes.apple.com/us/artist/randy-newman/id200900 : 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>
To、Cc、およびBccフィールドには、件名フィールド、メッセージ、複数の受信者を含めることもできます。 (iOSでは、from属性は無視されます)次の例は、いくつかの異なる属性を含むmailto URLを示しています。
mailto:[email protected][email protected]&subject=Greetings%20from%20Cupertino!&body=Wish%20you%20were%20here!
注:メールの作成ダイアログは、 MFMailComposeViewControllerを使用してアプリ内で提示することもできます。