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

Universal link访问URL成功但未触发对应操作问题求助

你的AASA配置本身没有问题,paths: ["*"]已经匹配所有路径,根路径可正常唤起应用说明AASA已经生效,回调不触发的常见原因及解决方法如下:

  • 未适配iOS13+的SceneDelegate回调
    iOS13引入SceneDelegate后,默认使用SceneDelegate管理生命周期的项目,Universal Link唤起回调不会走AppDelegate的对应方法,需要在SceneDelegate中添加如下代码处理即可:
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
    guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
          let url = userActivity.webpageURL,
          let components = URLComponents(url: url, resolvingAgainstBaseURL: true) else {
        return
    }
    if components.path.contains("callback") {
        print("callback hit...")
        // 后续添加跳转到CallbackViewController的业务逻辑
    }
}

如果需要兼容iOS13以下版本,保留你原有AppDelegate中的代码无需删除,两种回调方法同时存在不会产生冲突。

  • 冷启动场景覆盖不全
    如果测试时应用处于完全杀死的状态,Universal Link唤起应用时会先触发application(_:didFinishLaunchingWithOptions:),你可以在该方法中通过UIApplication.LaunchOptionsKey.userActivityDictionary获取对应的userActivity,避免冷启动场景下逻辑遗漏。
  • SwiftUI项目适配
    如果是基于SwiftUI的App结构开发的项目,可通过onOpenURL modifier直接处理链接即可:
@main
struct YourApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .onOpenURL { url in
                    guard url.path.contains("callback") else { return }
                    print("callback hit...")
                }
        }
    }
}
  • 清除AASA缓存
    如果之前修改过AASA配置,系统会缓存旧版本配置,卸载应用后重装即可触发系统重新拉取最新的AASA配置。

内容的提问来源于stack exchange,提问作者Jon Nicholson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:36:05