Это может быть довольно очевидный вопрос, но можно ли запустить браузер Safari из приложения для iPhone?
Это может быть довольно очевидный вопрос, но можно ли запустить браузер Safari из приложения для iPhone?
Ответы:
должно быть следующее:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
UIApplication имеет метод под названием openURL:
пример:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
вы можете открыть URL-адрес в сафари следующим образом:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];
В iOS 10 у нас есть один другой метод с обработчиком завершения :
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
}
Может кто-нибудь сможет использовать версию Swift:
В быстрой версии 2.2:
UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!)
И 3.0:
UIApplication.shared().openURL(URL(string: "https://www.google.com")!)
В Swift 4 и 5, поскольку OpenURL обесценивается, простой способ сделать это будет просто
if let url = URL(string: "https://stackoverflow.com") {
UIApplication.shared.open(url, options: [:])
}
Вы также можете использовать SafariServices
. Что-то вроде окна Safari в вашем приложении.
import SafariServices
...
if let url = URL(string: "https://stackoverflow.com") {
let safariViewController = SFSafariViewController(url: url)
self.present(safariViewController, animated: true)
}
В Swift 3.0 вы можете использовать этот класс, чтобы помочь вам общаться с. Сопровождающие фреймворка устарели или удалили предыдущие ответы.
импорт UIKit class InterAppCommunication { static func openURI (_ URI: String) { UIApplication.shared.open (URL (строка: URI) !, параметры: [:], completedHandler: {(succ: Bool) in print ("Complete! Success? \ (Succ)")}) } }