如何打开iPhone的默认浏览器?

时间:2012-01-06 09:35:30

标签: iphone ios facebook uibutton

我在我的iPhone应用程序中放置了一个Facebook按钮。如何在单击该按钮并打开Facebook登录页面时打开iPhone的默认浏览器?

7 个答案:

答案 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终止。这真的是你想要的吗?用户无法返回您的应用。

要考虑的选项:

  • 将Facebook iOS库集成到您的应用程序中。大量编码,因为您需要编写一些UI代码来支持集成。另一方面,它是您的应用程序,您可以控制正在发生的事情以及如何对用户操作做出反应

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];