2009-05-04 11 views

Respuesta

53

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

debería ser el siguiente:

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

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

¿Tendrá esto en cuenta el uso de la memoria de tu aplicación? Además, ¿hay una buena manera de volver a su aplicación (como la función de inicio de sesión en los sitios de redes sociales)? – brendan

+0

@brendan: aquí no se asigna nada, por lo que se configura automáticamente para su liberación automática. – iveytron

+1

@brendan, supongo que no, ya que supongo que la 'webview' se lanzó en la aplicación de safari, por lo que caería dentro de ese proceso – surtyaar

16

se podrá abrir la URL en Safari con esto:

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

M aybe alguien puede 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")!) 
2

con IOS 10 tenemos un método diferente con manejador de finalización:

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

En Swift 3.0, puede usar esta clase para comunicarse. Los mantenedores del marco han dejado de usar o eliminaron las respuestas anteriores.

import UIKit 

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