簡體   English   中英

如何打開iPhone的默認瀏覽器?

[英]How to open iPhone's default browser?

我在我的iPhone應用程序中放置了一個Facebook按鈕。 單擊該按鈕並加載Facebook登錄頁面時如何打開iPhone的默認瀏覽器?

iOS 10引入了新方法來打開URL,見下文:

斯威夫特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];
}
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.facebook.com"]];

當您打開iPhone的默認瀏覽器時,您的應用程序將進入后台 - 可能由iOS終止。 這真的是你想要的嗎? 用戶無法返回您的應用。

要考慮的夫妻選擇:

  • 將Facebook iOS庫集成到您的應用程序中。 大量編碼,因為您需要編寫一些UI代碼來支持集成。 另一方面,它是您的應用程序,您可以控制正在發生的事情以及如何對用戶操作做出反應

https://github.com/facebook/facebook-ios-sdk

  • 在您的應用程序中嵌入瀏覽器並在您的應用程序中“打開瀏覽器”。 再一次,你可以控制正在發生的事情以及如何處理它

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIWebView_Class/

關鍵是:這是你的申請。 你為什么要強迫用戶關閉你的應用程序並開始使用別的東西而無法回頭?

好吧,你知道所有的細節,並根據你想要的默認瀏覽器。 沒關系。

在斯威夫特

UIApplication.sharedApplication().openURL(NSURL(string:"http://www.facebook.com")!)

在目標C中

[[UIApplication sharedApplication] openURL:[NSURL          
URLWithString:@"http://www.facebook.com"]];
Swift: iOS

var url:NSURL? = NSURL(string:webLink!)
UIApplication.sharedApplication().openURL(url!)

斯威夫特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
    })
}

OpenUrl已被刪除,請使用以下代碼。

NSURL *url = [NSURL URLWithString:@"https://google.com"];
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM