Как запустить 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)") })
    }
}
Другие вопросы по тегам