Відповіді:
має бути наступним:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
UIApplication має метод, який називається openURL:
приклад:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
ви можете відкрити URL-адресу в сафарі за допомогою цього:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];
У iOS 10 у нас є один інший метод із обробкою завершення :
ЦільC:
NSDictionary *options = [NSDictionary new];
//options can be empty
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
[[UIApplication sharedApplication] openURL:url options:options completionHandler:^(BOOL success){
}];
Швидкий:
let url = URL(string: "http://www.stackoverflow.com")
UIApplication.shared.open(url, options: [:]) { (success) in
}
У швидких 4 та 5, оскільки знецінюється OpenURL, простий спосіб зробити це було б просто
if let url = URL(string: "https://stackoverflow.com") {
UIApplication.shared.open(url, options: [:])
}
Ви також можете використовувати SafariServices
. Щось на зразок вікна Safari у вашому додатку.
import SafariServices
...
if let url = URL(string: "https://stackoverflow.com") {
let safariViewController = SFSafariViewController(url: url)
self.present(safariViewController, animated: true)
}
У Swift 3.0 ви можете використовувати цей клас, щоб допомогти вам спілкуватися. Підтримка фреймворку застаріла або видалила попередні відповіді.
імпорт UIKit клас InterAppCommunication { static func openURI (_ URI: String) { UIApplication.shared.open (URL (рядок: URI) !, параметри: [:], завершенняHandler: {(succ: Bool) у друку ("завершено! Успіх? \ (Succ)")}) } }