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

如何获取启动iOS App Clip的URL中的query parameters?

获取iOS App Clip启动URL中Query参数的可行方案

存在完全合规的官方技术方案,不需要依赖私有API,具体实现逻辑和注意事项如下:

  • 前置配置检查
    先确保App Clip的Target已经正确配置Associated Domains,添加对应唤起域名的appclips:your.domain.com条目,同时域名下的apple-app-site-association文件已经正确配置了App Clip的路径规则,这步没做对的话系统不会将唤起URL透传给你的App Clip进程,后续所有逻辑都不会触发。
  • 冷启动场景实现(App Clip进程未运行时被URL唤起)
    系统会将唤起时的URL封装在类型为NSUserActivityTypeBrowsingWeb的NSUserActivity对象中传入,你可以根据自己用的生命周期框架取对应回调:
    如果是SwiftUI生命周期,直接在根视图上挂载onContinueUserActivity修饰符即可:
@main
struct DemoAppClip: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .onContinueUserActivity(NSUserActivityTypeBrowsingWeb) { activity in
                    guard let url = activity.webpageURL,
                          let urlComp = URLComponents(url: url, resolvingAgainstBaseURL: true),
                          let queryParams = urlComp.queryItems else { return }
                    // 直接读取参数即可,例如读取名为"productId"的参数
                    let productId = queryParams.first(where: { $0.name == "productId" })?.value
                    // 后续参数处理逻辑
                }
        }
    }
}

如果是UIKit生命周期,实现UIApplicationDelegate的application(_:continue:restorationHandler:)代理方法,从入参的userActivity对象中取webpageURL,后续URL解析逻辑和SwiftUI版本完全一致。

  • 热启动场景实现(App Clip在后台挂起时被URL唤起切回前台)
    上述的NSUserActivity回调会自动触发,不需要额外注册通知或者添加其他监听逻辑,一套代码可以覆盖冷、热启动两种唤起场景。

注意不要尝试从Bundle.main、ProcessInfo.processInfo.arguments里读取唤起URL,这些路径拿不到真实的唤起参数,所有通用链接(Universal Link)唤起的URL,系统只会通过NSUserActivity通道透传。

  • 特殊场景说明
    如果你是用自定义URL Scheme唤起App Clip,参数不会走上面的NSUserActivity通道,需要实现application(_:open:options:)代理方法,从入参的url对象中解析query参数即可。
  • 测试提示
    本地调试时不要直接启动App Clip后手动输入URL测试,建议把Xcode的Run Scheme设置为 Wait for the executable to be launched,安装App Clip到真机后,从Safari、备忘录或者iMessage里点击唤起链接触发App Clip启动,这样可以完整复现真实用户的唤起链路,避免因为调试环境问题误判参数传递逻辑失效。

内容的提问来源于stack exchange,提问作者Orfeas Magoulas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 18:15:58