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

Gpa*_*ack 7 ios-universal-links flutter flutter-go-router

在 iOS 上,当我单击 URL 时,它会打开我的 Flutter 应用程序,但仍保留在主屏幕上。它不会转到给定页面。

\n

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

\n

这是 AASA:

\n

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

\n
{\n  "applinks": {\n    "apps": [],\n    "details": [\n      {\n        "appID": "com.my-app",\n        "paths": ["*"]\n      }\n    ]\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

ios/Runner/Runner.entitlements

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

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

\n

我的应用程序使用 go_router 5.0.1

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

我尝试在重定向中放置断点,但它从未被执行。
\n我尝试打开 iOS 模拟器的日志(调试 > 打开系统日志...),但是当我在终端中运行此命令时没有任何跟踪:

\n
~ \xe2\x9d\xaf xcrun simctl openurl booted https://my-app.com/page1\n~ \xe2\x9d\xaf xcrun simctl openurl booted my-app.com://my-app.com/page1\n
Run Code Online (Sandbox Code Playgroud)\n

我该如何进一步解决这个问题?

\n

编辑:当我使用时,该应用程序在 Android 上的右侧页面上打开adb shell am start ...,因此这一定是 iOS 上的配置问题。

\n

小智 2

如果已安装,请尝试删除 uni_links 软件包。该库似乎与此机制相冲突。