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

网页内容如图所示

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

判断如果是URL scheme类型的,则执行 \[UIApplication sharedApplicationopenURL: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_xiaoli2 小时前
【iOS】通知传值实现
macos·ios·xcode
2601_955767422 小时前
iPhone 17 屏幕偏振光学解析与保护贴技术选择——悟赫德观复盾护景贴
人工智能·科技·ios·ar·iphone·圆偏振光
qq3621967053 小时前
手机App下载安装完全指南:2026最新教程(Android & iOS)
android·ios·智能手机
核电机组3 小时前
IOS原生APP集成Flutter
flutter·ios
亘元有量-流量变现4 小时前
预算有限怎么投?iOS ASO与ASA优劣对比及精细化联动增长策略
ios·用户运营·aso优化·亘元有量·方糖试玩
Mr -老鬼5 小时前
EasyClick iOS自动化7.1.0新版本详解
ios·自动化·easyclick
2501_916007476 小时前
不用 Mac 也可以 Windows下管理iOS描述文件的非Xcode完整指南
android·ios·小程序·https·uni-app·iphone·webview
Mr_CrazyPeter1 天前
【无标题】
ios·模拟器·ons
yuananyun1 天前
APP 图标规范与设计全攻略:iOS/Android/Web 一次设计多端合规,快速出图
android·前端·ios
niech_cn1 天前
uniapp开发App(iOS、Android、鸿蒙Next)之配置pages.json 页面路由(三)
android·ios·uni-app