通用链接打开flutter应用程序,但不转到正确的页面



在iOS上,当我点击一个url时,它打开了我的Flutter应用程序,但停留在主屏幕上。它不会转到指定的页面。

例如,如果链接是https://my-app.com/page1,应用程序将直接转到/

这是AASA:

.well-known/apple-app-site-association

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "com.my-app",
        "paths": ["*"]
      }
    ]
  }
}

ios/Runner/Runner.entitlements

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>aps-environment</key>
    <string>development</string>
    <key>com.apple.developer.associated-domains</key>
    <array>
        <string>applinks:my-app.com</string>
        <string>applinks:my-app-staging.com</string>
    </array>
</dict>
</plist>

如果我检查https://search.developer.apple.com/appsearch-validation-tool中的url,则一切都通过。

我的应用使用go_router 5.0.1

MaterialApp.router(
  routerConfig: GoRouter(
    routes: [...],
    redirect: (context, state) { ... }
  ),
)

我尝试在重定向中设置断点,但它从未被执行。
我试着打开iOS模拟器的日志(Debug>打开系统日志…),但是当我在终端上运行它时没有跟踪:

~ ❯ xcrun simctl openurl booted https://my-app.com/page1
~ ❯ xcrun simctl openurl booted my-app.com://my-app.com/page1

如何进一步排除故障?

编辑:当我使用adb shell am start ...时,应用程序在Android上的右页打开,所以它必须是iOS上的配置问题。

尝试删除已安装的uni_links包。标准库似乎与此机制相冲突。

最新更新