Đây có thể là một câu hỏi khá rõ ràng, nhưng bạn có thể khởi chạy trình duyệt Safari từ ứng dụng iPhone không?
Đây có thể là một câu hỏi khá rõ ràng, nhưng bạn có thể khởi chạy trình duyệt Safari từ ứng dụng iPhone không?
Câu trả lời:
nên như sau:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
Ứng dụng UIApplication có một phương thức gọi là openURL:
thí dụ:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
bạn có thể mở url trong safari bằng cách này:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];
Với iOS 10, chúng tôi có một phương pháp khác với trình xử lý hoàn thành :
Mục tiêu:
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){
}];
Nhanh:
let url = URL(string: "http://www.stackoverflow.com")
UIApplication.shared.open(url, options: [:]) { (success) in
}
Có lẽ ai đó có thể sử dụng phiên bản Swift:
Trong swift 2.2:
UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!)
Và 3.0:
UIApplication.shared().openURL(URL(string: "https://www.google.com")!)
Trong swift 4 và 5, vì OpenURL bị khấu hao, một cách dễ dàng để làm điều đó sẽ chỉ là
if let url = URL(string: "https://stackoverflow.com") {
UIApplication.shared.open(url, options: [:])
}
Bạn cũng có thể sử dụng SafariServices
. Một cái gì đó giống như một cửa sổ Safari trong ứng dụng của bạn.
import SafariServices
...
if let url = URL(string: "https://stackoverflow.com") {
let safariViewController = SFSafariViewController(url: url)
self.present(safariViewController, animated: true)
}
Trong Swift 3.0, bạn có thể sử dụng lớp này để giúp bạn giao tiếp. Những người duy trì khung đã không tán thành hoặc loại bỏ các câu trả lời trước đó.
nhập khẩu UIKit lớp InterAppC Truyền thông { func openURI tĩnh (_ URI: String) { UIApplication. Shared.open (URL (chuỗi: URI)!, Tùy chọn: [:], hoàn thành } }