2014-09-21 3 views
1

Могу ли я запустить браузер с помощью пользовательской клавиатуры в iOS8. Я создал пользовательскую клавиатуру и добавил значок браузера. Теперь я хочу запустить браузер, когда пользователь коснется его.Запустить браузер с пользовательской клавиатуры iOS 8?

+0

Возможный дубликат [запуск сафари из приложения iphone] (http://stackoverflow.com/questions/822599/launch-safari-from-iphone-app) – n00bProgrammer

+0

пользовательская клавиатура не использует свой собственный контекст приложения, но использует контекст расширения, поэтому я думаю, что не дублируем. Пожалуйста, почитайте. – bllakjakk

+0

@ n00bProgrammer Я хочу запустить браузер из расширения iOS 8 не из приложения iPhone. –

ответ

1

Вы можете использовать ниже api из класса NSExtensionContext. КПП. объект NSExtensionContext представляет контекст приложения-хоста, из которого вызывается расширение приложения.

- (void)openURL:(NSURL *)URL 
completionHandler:(void (^)(BOOL success))completionHandler 

Ниже приведен пример:

NSURL *url = [NSURL URLWithString:@"http://www.google.com.com"]; 
NSExtensionContext *myExtension=[self extensionContext]; 
[myExtension openURL:url completionHandler:nil]; 

Но есть улов. Каждая точка расширения определяет, следует ли поддерживать этот метод или при каких условиях поддерживать этот метод.

Итак, в этом случае вы должны использовать WebView и загрузить запрос внутри него для перенаправления в браузер.

Edit1:

Перенаправление на сафари с WebView попробовать это:

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType { 
     //[[UIApplication sharedApplication] openURL:[inRequest URL]]; 
      [myExtension openURL:url completionHandler:nil]; 
      return NO; 

} 

Кроме того, если вам нужно непосредственно запускать нативные использование приложение предопределенные схемы, как:

карты: //

+0

Спасибо, но я также хочу открыть некоторые приложения для использования URlScheme –

+0

Также я могу проверить openUrl в iOS-симуляторе ?? –

+0

Пользовательская схема uri также может использоваться для обработки других приложений. Также поведение симулятора хорошо определено для этого сценария. – bllakjakk

Смежные вопросы