我可以在iOS8中使用自定义键盘启动浏览器吗?我创建了自定义键盘并添加了一个浏览器图标。现在我想在用户点按它时启动浏览器。
答案 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;
}
此外,如果您需要直接启动本机应用程序,请使用预定义的方案,如:
地图://