我在我的iPhone应用程序中放置了一个Facebook按钮。如何在单击该按钮并打开Facebook登录页面时打开iPhone的默认浏览器?
答案 0 :(得分:70)
iOS 10引入了一种打开网址的新方法,见下文:
斯威夫特3:
let url = URL(string:"http://www.booleanbites.com")!
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
// Fallback on earlier versions
UIApplication.shared.openURL(url)
}
目标C:
NSURL *url = [NSURL URLWithString:@"http://www.booleanbites.com"];
if ([[UIApplication sharedApplication] respondsToSelector:@selector(openURL:options:completionHandler:)]) {
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:NULL];
}else{
// Fallback on earlier versions
[[UIApplication sharedApplication] openURL:url];
}
答案 1 :(得分:8)
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.facebook.com"]];
答案 2 :(得分:4)
当您打开iPhone的默认浏览器时,您的应用程序会进入后台 - 可能会被iOS终止。这真的是你想要的吗?用户无法返回您的应用。
要考虑的选项:
https://github.com/facebook/facebook-ios-sdk
http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWebView_Class/
重点是:这是你的申请。你为什么要强迫用户关闭你的应用程序并开始使用别的东西而无法回头?
嗯,您知道所有细节,并根据您想要的默认浏览器。没关系。
答案 3 :(得分:3)
在Swift中
UIApplication.sharedApplication().openURL(NSURL(string:"http://www.facebook.com")!)
在目标C
[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@"http://www.facebook.com"]];
答案 4 :(得分:2)
Swift: iOS
var url:NSURL? = NSURL(string:webLink!)
UIApplication.sharedApplication().openURL(url!)
答案 5 :(得分:1)
斯威夫特3:
let url = URL(string: "http://www.example.com")!
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
如果要添加completionHandler:
let url = URL(string: "http://www.example.com")!
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: { (success) in
print("success!") // do what you want
})
}
答案 6 :(得分:1)
OpenArl已被删除,请使用以下代码。
NSURL *url = [NSURL URLWithString:@"https://google.com"];
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];