iOS 中支持点击网页scheme超链接打开其他app

网页内容如图所示

思路,点击网页中一个href 超链接的时候,会执行 decidePolicyForNavigationAction 方法,我们在改方法中截获URL,

判断如果是URL scheme类型的,则执行 [[UIApplication sharedApplication]openURL:URL options:@{} completionHandler:nil] 方法,打开URL,并取消这次加载

实现方法

复制代码
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
{
    NSURL *URL = navigationAction.request.URL;
    if (![URL.absoluteString hasPrefix:@"http"] ) {
        [[UIApplication sharedApplication]openURL:URL options:@{} completionHandler:nil];
        decisionHandler(WKNavigationActionPolicyCancel);
        return;

    }
    decisionHandler(WKNavigationActionPolicyAllow);
}

app配置 url sheme

目标app被打开的时候,就会执行这个方法

复制代码
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{

注意点: 打开微信小程序也可以通过URL scheme 这里使用了一个测试的URL

weixin://dl/business/?t=YtqQ6kpcrQd

相关推荐
pop_xiaoli14 小时前
OC—UI学习-2
学习·ui·ios
90后的晨仔17 小时前
git 命令汇总
ios
liucan23320 小时前
JS执行速度似乎并不比Swift或者C语言慢
前端·ios
安和昂1 天前
【iOS】 Block再学习
学习·ios·cocoa
pop_xiaoli1 天前
OC学习—命名规范
学习·ios
Digitally1 天前
如何在没有 iTunes 的情况下备份 iPhone
ios·iphone
刘_小_二1 天前
iOS用Xib 之三等分以及多等分思路
ios
season_zhu1 天前
Swift:优雅又强大的语法糖——Then库
ios·架构·swift
I烟雨云渊T2 天前
iOS 门店营收表格功能的实现
ios
明月看潮生2 天前
青少年编程与数学 01-011 系统软件简介 07 iOS操作系统
ios·青少年编程·操作系统·系统软件