Как запустить Safari из приложения для iPhone?
Это может быть довольно очевидный вопрос, но можете ли вы запустить браузер Safari из приложения для iPhone?
7 ответов
Должно быть следующее:
NSURL *url = [NSURL URLWithString:@"http://www.stackru.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
В UIApplication есть метод openURL:
пример:
NSURL *url = [NSURL URLWithString:@"http://www.stackru.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 у нас есть один другой метод с обработчиком завершения:
ObjectiveC:
NSDictionary *options = [[NSDictionary alloc] init];
//options can be empty
NSURL *url = [NSURL URLWithString:@"http://www.stackru.com"];
[[UIApplication sharedApplication] openURL:url options:options completionHandler:^(BOOL success){
}];
Может быть, кто-то может использовать версию Swift:
В Swift 2.2:
UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!)
И 3.0:
UIApplication.shared().openURL(URL(string: "https://www.google.com")!)
В Swift 4, поскольку OpenURL является устаревшей, простой способ сделать это будет просто
if let url = URL(string: "https://stackru.com") {
UIApplication.shared.open(url, options: [:]) }
В Swift 3.0 вы можете использовать этот класс для общения. Сопровождающие фреймворка устарели или удалили предыдущие ответы.
импорт UIKit class InterAppCommunication { статический функционал openURI(_ URI: String) { UIApplication.shared.open(URL(строка: URI)!, параметры: [:], completeHandler: { (succ: Bool) в печати ("Завершить! Успех? \(Succ)") }) } }