2012-01-06 9 views
19

Я разместил кнопку Facebook в своем приложении для iPhone. Я хочу открыть браузер iPhone по умолчанию, нажав на эту кнопку и загрузив страницу входа в систему Facebook.Как открыть браузер iPhone по умолчанию?

Как я могу это достичь?

Заранее спасибо.

ответ

59

IOS 10 представила новый метод, чтобы открыть URL, смотрите ниже:

Swift 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!) 
} 

Objective 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

+8

Ссылка на ваш «поиск» указывает на «нажатие кнопки« Android-кнопка для Android ».Вопрос касается приложения iOS с кнопкой, чтобы открыть домашнюю страницу facebook в браузере по умолчанию. Я не вижу связи? – JOM

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

При открытии по умолчанию iPhone в браузер, ваше приложение попадает на фон - возможно, завершено iOS. Это действительно то, что вы хотите? У пользователя нет возможности вернуться к вашему приложению.

варианты Пара рассмотреть следующие вопросы:

  • Интеграция Facebook IOS библиотеки в приложение. Много кодирования, так как вам нужно написать некоторый код интерфейса для поддержки интеграции. С другой стороны, это приложение и у вас есть некоторый контроль над тем, что происходит и как реагировать на действия пользователя

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

  • Вставить браузер внутри приложения и «открыть браузер» в вашем приложении. Но опять же у вас есть некоторый контроль над тем, что происходит и что делать об этом

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

Суть в том, что это ваше приложение. Почему вы вынуждаете пользователя отключать ваше приложение и начинаете использовать что-то еще без какого-либо способа вернуться?

Ну, вы знаете все детали и на основе тех, которые хотите использовать браузер по умолчанию. Ничего страшного.

+0

Thankx JOM. Теперь я понял это правильно. благодаря – Arun

2
Swift: iOS 

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

В Swift

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

В объективном С

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

Swift 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 не работает, используйте следующий код.

NSURL *url = [NSURL URLWithString:@"https://google.com"]; 
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil]; 
Смежные вопросы