从自定义键盘iOS 8启动浏览器?

时间:2014-09-21 06:48:07

标签: ios ios8

我可以在iOS8中使用自定义键盘启动浏览器吗?我创建了自定义键盘并添加了一个浏览器图标。现在我想在用户点按它时启动浏览器。

1 个答案:

答案 0 :(得分:1)

您可以在NSExtensionContext类中使用以下api。 顺便说一句。 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重定向到safari,请尝试:

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

}

此外,如果您需要直接启动本机应用程序,请使用预定义的方案,如:

地图://