web-dev-qa-db-fra.com

Comment lancer Safari à partir d'une application iPhone?

C'est peut-être une question assez évidente, mais pouvez-vous lancer le navigateur Safari à partir d'une application iPhone?

126
keuminotti

devrait être le suivant:

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

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

UIApplication a une méthode appelée openURL:

exemple:

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

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

vous pouvez ouvrir l'URL dans le safari avec ceci:

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

Avec iOS 10, nous avons une méthode différente avec le gestionnaire d'achèvement:

Objectif c:

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

Peut-être que quelqu'un peut utiliser la version Swift:

Dans Swift 2.2:

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

Et 3.0:

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

Dans Swift 3.0, vous pouvez utiliser cette classe pour vous aider à communiquer avec. Les responsables de l'infrastructure ont obsolète ou supprimé les réponses précédentes.

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

Dans Swift 4, OpenURL étant amorti, un moyen facile de le faire serait simplement

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