在Safari中从WKWebView打开链接,在iOS10 +中打开webView

时间:2017-09-12 17:57:58

标签: ios objective-c xcode ios10 openurl

我已经在主题上发现了许多关于如何在iOS10 +中弃用openURL的有用帖子。但是我花了一些时间才在项目中正确实现它。

这对我不起作用(使用WKWebView),但这就是我在现有代码中使用它的方式

fit <- lm(mpg~wt, mtcars)
df_aug <- augment(fit)

purrr::invoke_map(.f = list(diagplot_resid, diagplot_stdres, diagplot_qq), 
                  .x = list(list(df_aug))) %>% 
  gridExtra::grid.arrange(grobs = ., ncol = 2, 
                          top = paste("Diagnostic plots for",
                                      as.expression(fit$call)))

但是,这个DID对我有用(使用webView):

- (BOOL)WKWebView:(UIWebView *)WKWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
        ...code to handle open url...
}

这是为什么?我的应用程序的目标部署是8.0,如果这很重要,我仍然有代码来支持旧的&#34; openURL&#34;方法

另外,根据文件I should be using WKWebView

1 个答案:

答案 0 :(得分:0)

对于WKWebView,您应该使用navigationDelegate。 关于shouldStartLoadWithRequest你可以写:

- (void)webView:(WKWebView *)webView 
decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction 
decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;