Как я могу запустить Safari из приложения iPhone?

Это может быть довольно очевидный вопрос, но можете ли вы запустить браузер Safari из приложения iPhone?

Ответ 1

должно быть следующее:

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];

if (![[UIApplication sharedApplication] openURL:url]) {
    NSLog(@"%@%@",@"Failed to open url:",[url description]);
}

Ответ 2

UIApplication имеет метод openURL:

Пример:

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];

if (![[UIApplication sharedApplication] openURL:url]) {
  NSLog(@"%@%@",@"Failed to open url:",[url description]);
}

Ответ 3

вы можете открыть URL-адрес в сафари с помощью этого:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];

Ответ 4

В iOS 10 у нас есть один другой метод с обработчиком завершения:

ObjectiveC:

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){
}];

Swift:

let url = URL(string: "http://www.stackoverflow.com")
UIApplication.shared.open(url, options: [:]) { (success) in
}

Ответ 5

Возможно, кто-то может использовать версию Swift:

В быстрой 2.2:

UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!)

И 3.0:

UIApplication.shared().openURL(URL(string: "https://www.google.com")!)

Ответ 6

В Swift 3.0 вы можете использовать этот класс, чтобы помочь вам общаться. Сторонники структуры устарели или удалили предыдущие ответы.

import UIKit

class InterAppCommunication {
    static func openURI(_ URI: String) {
        UIApplication.shared.open(URL(string: URI)!, options: [:], completionHandler: { (succ: Bool) in print("Complete! Success? \(succ)") })
    }
}

Ответ 7

В Swift 4, поскольку OpenURL является устаревшей, простой способ сделать это будет просто

if let url = URL(string: "https://stackoverflow.com") {
UIApplication.shared.open(url, options: [:]) }