Как запустить Safari из приложения для iPhone? - PullRequest
126 голосов
/ 05 мая 2009

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

Ответы [ 7 ]

201 голосов
/ 27 августа 2009

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

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

if (![[UIApplication sharedApplication] openURL:url]) {
    NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
53 голосов
/ 05 мая 2009

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

пример:

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

if (![[UIApplication sharedApplication] openURL:url]) {
  NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
16 голосов
/ 14 марта 2013

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

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];
4 голосов
/ 21 сентября 2016

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

ObjectiveC:

NSDictionary *options = [[NSDictionary alloc] init];
//options can be empty
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
[[UIApplication sharedApplication] openURL:url options:options completionHandler:^(BOOL success){
}];
2 голосов
/ 28 июня 2016

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

В быстром 2.2:

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

И 3,0:

UIApplication.shared().openURL(URL(string: "https://www.google.com")!)
1 голос
/ 13 апреля 2018

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

if let url = URL(string: "https://stackoverflow.com") {
UIApplication.shared.open(url, options: [:]) }
1 голос
/ 28 июня 2017

В 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)") })
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...