You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS应用如何在内部通过dynamic link唤起自身应用

iOS应用内通过Dynamic Link唤起自身的方案说明

可行性结论

完全支持,iOS系统允许应用内部通过Dynamic Link直接唤起自身,无需经过外部应用中转。

实现步骤

  • 基础配置校验
    先完成Universal Links的基础配置:
    1. 在Apple开发者后台开启对应App的Associated Domains能力
    2. 在Xcode项目的Signing & Capabilities中添加Associated Domains条目,填写你的动态链接域名,格式为applinks:xxx.page.link(替换为你自己的动态链接域名)
    3. 确认动态链接服务端已经上传正确的apple-app-site-association文件,配置了你的App的Team ID、Bundle ID的匹配规则;如果使用Firebase Dynamic Links,只需在Firebase控制台完成App的Bundle ID、Team ID、App Store ID的绑定即可,无需自行上传该文件。
  • 应用内触发唤起
    直接调用系统开放接口传入动态链接地址即可触发唤起:
    // Swift 代码示例
    guard let linkUrl = URL(string: "你的动态链接完整地址") else { return }
    UIApplication.shared.open(linkUrl, options: [.universalLinksOnly: true]) { isSuccess in
        // 可根据返回结果做异常处理
    }
    
    配置universalLinksOnly参数为true可强制走Universal Links唤起逻辑,避免未匹配时跳转到Safari浏览器。
  • 唤起结果接收与参数解析
    在App的入口文件中实现Universal Links接收回调,解析动态链接参数,执行对应的业务逻辑:
    // iOS 13+ SceneDelegate 示例
    func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
        guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
              let webUrl = userActivity.webpageURL else { return }
        // 若使用Firebase Dynamic Links,调用SDK解析
        DynamicLinks.dynamicLinks().handleUniversalLink(webUrl) { result, error in
            guard let deepLinkUrl = result?.url else { return }
            // 此处处理自身业务逻辑,如跳转指定页面、读取参数等
        }
    }
    

注意事项

  • 若你的动态链接配置了未安装App时跳转到App Store的兜底逻辑,在未安装App的测试设备上触发会直接跳转App Store,不会唤起应用
  • 动态链接的域名必须和Associated Domains中配置的域名完全一致,否则会匹配失败

内容的提问来源于stack exchange,提问作者Furang Moon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:48:02