2009-05-04 9 views

Répondre

53

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

devraient être les suivants:

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

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

Est-ce que cela compte pour l'utilisation de la mémoire de votre application? Aussi, y a-t-il un bon moyen de revenir à votre application (comme la fonctionnalité de connexion dans les sites de réseautage social)? – brendan

+0

@brendan - Il n'y a rien de dur ici, donc il est automatiquement réglé sur autorelease. – iveytron

+1

@brendan ma conjecture serait non comme je suppose que le «webview» est lancé dans l'application de safari afin qu'il tombe sous ce processus – surtyaar

16

vous pouvez ouvrir l'URL dans Safari avec ceci:

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

M aybe quelqu'un peut utiliser la version Swift:

Dans rapide 2.2:

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

Et 3.0:

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

Avec iOS 10 nous avons une autre méthode avec gestionnaire d'achèvement:

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

Dans Swift 3.0, vous pouvez utiliser cette classe pour vous aider à communiquer avec. Les responsables du framework ont ​​déprécié ou supprimé les réponses précédentes.

import UIKit 

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