Reputation: 1453
This might be a rather obvious question, but can you launch the Safari browser from an iPhone app?
Upvotes: 129
Views: 86690
Reputation: 73
In swift 4 and 5, as OpenURL is depreciated, an easy way of doing it would be just
if let url = URL(string: "https://stackoverflow.com") {
UIApplication.shared.open(url, options: [:])
}
You can also use SafariServices
. Something like a Safari window within your app.
import SafariServices
...
if let url = URL(string: "https://stackoverflow.com") {
let safariViewController = SFSafariViewController(url: url)
self.present(safariViewController, animated: true)
}
Upvotes: 3
Reputation: 392
With iOS 10 we have one different method with completion handler:
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
}
Upvotes: 5
Reputation: 119
In Swift 3.0, you can use this class to help you communicate with. The framework maintainers have deprecated or removed previous answers.
import UIKit class InterAppCommunication { static func openURI(_ URI: String) { UIApplication.shared.open(URL(string: URI)!, options: [:], completionHandler: { (succ: Bool) in print("Complete! Success? \(succ)") }) } }
Upvotes: 1
Reputation: 765
Maybe someone can use the Swift version:
In swift 2.2:
UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.com")!)
And 3.0:
UIApplication.shared().openURL(URL(string: "https://www.google.com")!)
Upvotes: 4
Reputation: 2542
should be the following :
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
Upvotes: 200
Reputation: 16275
UIApplication has a method called openURL:
example:
NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com"];
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
Upvotes: 53
Reputation: 293
you can open the url in safari with this:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.google.com"]];
Upvotes: 16