Dies mag eine ziemlich offensichtliche Frage sein, aber können Sie den Safari-Browser über eine iPhone-App starten?
Dies mag eine ziemlich offensichtliche Frage sein, aber können Sie den Safari-Browser über eine iPhone-App starten?
Antworten:
sollte folgendes sein:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
UIApplication hat eine Methode namens openURL:
Beispiel:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
Sie können die URL in Safari folgendermaßen öffnen:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];
Mit iOS 10 haben wir eine andere Methode mit Completion Handler :
Ziel c:
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){
}];
Schnell:
let url = URL(string: "http://www.stackoverflow.com")
UIApplication.shared.open(url, options: [:]) { (success) in
}
Vielleicht kann jemand die Swift-Version verwenden:
In schneller 2.2:
UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!)
Und 3.0:
UIApplication.shared().openURL(URL(string: "https://www.google.com")!)
In Swift 4 und 5, da OpenURL abgeschrieben wird, wäre eine einfache Möglichkeit, dies zu tun, gerecht
if let url = URL(string: "https://stackoverflow.com") {
UIApplication.shared.open(url, options: [:])
}
Sie können auch verwenden SafariServices
. So etwas wie ein Safari-Fenster in Ihrer 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 können Sie diese Klasse verwenden, um mit Ihnen zu kommunizieren. Die Framework-Betreuer haben frühere Antworten abgelehnt oder entfernt.
UIKit importieren Klasse InterAppCommunication { statische Funktion openURI (_ URI: String) { UIApplication.shared.open (URL (Zeichenfolge: URI)!, Optionen: [:], Vervollständigungshandler: {(succ: Bool) im Druck ("Complete! Success? \ (Succ)")}) }} }}