Questa potrebbe essere una domanda piuttosto ovvia, ma puoi avviare il browser Safari da un'app per iPhone?
Questa potrebbe essere una domanda piuttosto ovvia, ma puoi avviare il browser Safari da un'app per iPhone?
Risposte:
dovrebbe essere il seguente:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
UIApplication ha un metodo chiamato openURL:
esempio:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
puoi aprire l'URL in Safari con questo:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];
Con iOS 10 abbiamo un metodo diverso con gestore di completamento :
ObjectiveC:
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){
}];
Swift:
let url = URL(string: "http://www.stackoverflow.com")
UIApplication.shared.open(url, options: [:]) { (success) in
}
Forse qualcuno può usare la versione di Swift:
In rapido 2.2:
UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!)
E 3.0:
UIApplication.shared().openURL(URL(string: "https://www.google.com")!)
Nei rapidi 4 e 5, dato che OpenURL è ammortizzato, un modo semplice per farlo sarebbe giusto
if let url = URL(string: "https://stackoverflow.com") {
UIApplication.shared.open(url, options: [:])
}
Puoi anche usare SafariServices
. Qualcosa come una finestra di Safari all'interno della tua app.
import SafariServices
...
if let url = URL(string: "https://stackoverflow.com") {
let safariViewController = SFSafariViewController(url: url)
self.present(safariViewController, animated: true)
}
In Swift 3.0, puoi utilizzare questa classe per aiutarti a comunicare. I manutentori del framework hanno deprecato o rimosso le risposte precedenti.
importare UIKit classe InterAppCommunication { static func openURI (_ URI: String) { UIApplication.shared.open (URL (stringa: URI) !, opzioni: [:], completamentoHandler: {(succ: Bool) in stampa ("Complete! Success? \ (Succ)")}) } }