To może być dość oczywiste pytanie, ale czy możesz uruchomić przeglądarkę Safari z aplikacji na iPhone'a?
To może być dość oczywiste pytanie, ale czy możesz uruchomić przeglądarkę Safari z aplikacji na iPhone'a?
Odpowiedzi:
powinien wyglądać następująco:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
UIApplication ma metodę o nazwie openURL:
przykład:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
możesz otworzyć adres URL w Safari za pomocą tego:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];
W iOS 10 mamy jedną inną metodę z obsługą zakończenia :
Cel 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){
}];
Szybki:
let url = URL(string: "http://www.stackoverflow.com")
UIApplication.shared.open(url, options: [:]) { (success) in
}
Może ktoś może skorzystać z wersji Swift:
W Swift 2.2:
UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!)
I 3.0:
UIApplication.shared().openURL(URL(string: "https://www.google.com")!)
W szybkim 4 i 5, ponieważ OpenURL jest amortyzowany, prostym sposobem byłoby to po prostu
if let url = URL(string: "https://stackoverflow.com") {
UIApplication.shared.open(url, options: [:])
}
Możesz także użyć SafariServices
. Coś w rodzaju okna Safari w Twojej aplikacji.
import SafariServices
...
if let url = URL(string: "https://stackoverflow.com") {
let safariViewController = SFSafariViewController(url: url)
self.present(safariViewController, animated: true)
}
W Swift 3.0 możesz użyć tej klasy, aby ułatwić komunikację. Opiekunowie frameworka wycofali lub usunęli poprzednie odpowiedzi.
import UIKit class InterAppCommunication { static func openURI (_ URI: String) { UIApplication.shared.open (URL (ciąg: URI) !, opcje: [:], completeHandler: {(succ: Bool) in print ("Complete! Success? \ (Succ)")}) } }