在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包。标准库似乎与此机制相冲突。