gpt4 book ai didi

ios - iOS:通用链接始终会打开应用

转载 作者:行者123 更新时间:2023-12-01 16:08:40 26 4
gpt4 key购买 nike

服务器上与apple-app-site-associated的JSON如下所示:

{
"applinks": {
"apps": [],
"details": {
"TEAM_AND_BUNDLE_ID": {
"paths": [
"*"
]
}
}
}
}

我希望会调用 func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool方法,以便我可以理清是否应实际打开应用程序(对于调用myurl.com/open,为true;对于仅调用myurl.com,为false)。

但是未调用appdelegate方法,仅打开了该应用程序。

可行的解决方案是将该路径组件放入JSON,但据我所知,仅在安装应用程序时才下载JSON,因此不考虑JSON中的任何更改。

最佳答案

这是正确的行为。如果点击了符合apple-app-site-association文件中条件的URL,则您的应用将始终启动。您无法在continue userActivity中进行控制。

您安装了应用程序后就下载了apple-app-site-association文件,这是正确的。它将通过App Store重新下载更新,这意味着要添加新路径并确保所有用户都拥有它们,通常需要发布应用更新。

排除站点的根路径的正确方法是通过格式化apple-app-site-association文件,如下所示:

{
"applinks": {
"apps": [],
"details": {
"TEAM_AND_BUNDLE_ID": {
"paths": [
"NOT /",
"*"
]
}
}
}
}
/仅匹配站点的根,而 *匹配整个站点(包括根)。之所以可行,是因为iOS会按顺序评估规则,一旦找到匹配项便会停止。

无需不断更新您的应用程序来解决此问题的更好方法是使用托管的深层链接服务,例如 Branch.io(全面披露:我在Branch团队中)或Firebase动态链接。

关于ios - iOS:通用链接始终会打开应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44679532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com