美文网首页
2C2P WKWebView无法跳转到Line APP进行支付

2C2P WKWebView无法跳转到Line APP进行支付

作者: xudehuai001 | 来源:发表于2020-04-17 15:41 被阅读0次

    Custom scheme URL 在WKWebView中默认是不支持的 (但Safari可以).
    我们可以通过NSError来进行一些处理从而使得程序可以正常跳转:

    - (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error {
        LKHideBubble();
        // Line 支付会走两次这个失败回调, 如果不做处理,这里有可能跳转两次Line APP
        NSString *urlStr = error.userInfo[@"NSErrorFailingURLStringKey"];
        if (!(urlStr && urlStr.length)) {
            return;
        }
        if ([self.handledFailedUrls containsObject:urlStr]) {
            return;
        }
        if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:urlStr]]) {
            if (@available(iOS 10.0, *)) {
                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr] options:nil completionHandler:nil];
            } else {
                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
            }
            [self.handledFailedUrls addObject:urlStr];
        }
    }
    

    Note: 在iOS9中,如果你要想使用canOpenURL, 你必须添加URL schemes到Info.plist中的白名单, 否则一样跳转不了...

    相关文章

      网友评论

          本文标题:2C2P WKWebView无法跳转到Line APP进行支付

          本文链接:https://www.haomeiwen.com/subject/lqryvhtx.html