2012-01-06 39 views
19

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

我該如何做到這一點?

在此先感謝。

回答

59

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]; 
} 
+0

好的。 Thankx Adil。 – Arun 2012-01-06 09:41:22

+8

你的「一些搜索」鏈接指向「phonegap android home button pressed」。問題是關於iOS應用程序與按鈕打開Facebook的默認瀏覽器的網頁。我沒有看到連接? – JOM 2012-01-06 11:21:44

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

當你打開iPhone的默認瀏覽器,你的應用程序會後臺 - 可能會被iOS終止。那真的是你想要的嗎?用戶無法回到您的應用程序。

夫婦選擇可以考慮:

  • 整合Facebook的iOS庫到你的應用。很多編碼,因爲你需要編寫一些UI代碼來支持整合。在另一方面,它是你的應用程序,你必須在正在發生的事情,以及如何對用戶操作的反應

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

  • 嵌入瀏覽器您的應用程序內和「打開瀏覽器」的一些控制在您的應用內。再一次,你有超過發生了什麼事情在什麼一些控制,並做些什麼

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

的一點是:這是你的應用程序。爲什麼你會強迫用戶關閉你的應用程序,並開始使用別的東西沒有任何方式回來?

那麼,你知道所有的細節和基於你想要的默認瀏覽器。沒關係。

+0

Thankx JOM。現在我正確地理解了它。謝謝 – Arun 2012-01-06 12:11:53

2
Swift: iOS 

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

在斯威夫特

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

目標C

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

OpenUrl被depricated,使用下面的代碼。

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