Esta podría ser una pregunta bastante obvia, pero ¿puede iniciar el navegador Safari desde una aplicación de iPhone?
Esta podría ser una pregunta bastante obvia, pero ¿puede iniciar el navegador Safari desde una aplicación de iPhone?
Respuestas:
debe ser el siguiente:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
UIApplication tiene un método llamado openURL:
ejemplo:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
puedes abrir la url en safari con esto:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];
Con iOS 10 tenemos un método diferente con el controlador de finalización :
C objetivo:
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){
}];
Rápido:
let url = URL(string: "http://www.stackoverflow.com")
UIApplication.shared.open(url, options: [:]) { (success) in
}
Quizás alguien pueda usar la versión Swift:
En swift 2.2:
UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!)
Y 3.0:
UIApplication.shared().openURL(URL(string: "https://www.google.com")!)
En Swift 4 y 5, a medida que OpenURL se deprecia, una forma fácil de hacerlo sería simplemente
if let url = URL(string: "https://stackoverflow.com") {
UIApplication.shared.open(url, options: [:])
}
También puedes usar SafariServices
. Algo así como una ventana de Safari dentro de su aplicación.
import SafariServices
...
if let url = URL(string: "https://stackoverflow.com") {
let safariViewController = SFSafariViewController(url: url)
self.present(safariViewController, animated: true)
}
En Swift 3.0, puede usar esta clase para ayudarlo a comunicarse. Los mantenedores del marco han desaprobado o eliminado las respuestas anteriores.
importar UIKit clase InterAppCommunication { func estática openURI (_ URI: String) { UIApplication.shared.open (URL (cadena: URI) !, opciones: [:], completeHandler: {(succ: Bool) en impresión ("Complete! Success? \ (Succ)")}) } }