通用链接(深层链接)不适用于 iPhone 但适用于 iPad
Universal links (Deep linking) not working on iPhone but works on iPad
我正在尝试在我的应用程序中构建深入的 linking 功能。我为 deep linking 做了所有必要的设置,比如在我的应用程序中启用关联域,将 apple-app-site-association 添加到我的根目录服务器,并且我通过 https 提供有效的 apple-app-site-association,我还使用此工具验证了我的 apple-app-site-association Validate your apple-app-site-association。
在一切正常后,我在 iPad 上测试了深度 linking 功能,它按预期工作。但是当我试图在我的 iPhone 上做同样的事情时,它不起作用,它总是带我去野生动物园。我在 6s 设备上试过,我重新安装了应用程序,我清除了 Safari 网站数据并清除了历史记录。还将 iPhone & iPad 更新为 iOS 9.3.5。更新 OS 并没有改变任何事情。
iPad 仍然像在 9.3.4 上一样继续使用深度 link URL。 iPhone 仍然在 safari 中打开 link。
请给我一些关于如何解决这个问题的指示,我认为这可能是一个 apple 错误,但我还是不明白它如何在 iPad 上工作,这与 运行 相同软件为 iPhone。非常感谢任何帮助或指南。
谢谢。
我能够解决这个问题,这是我遇到的恼人问题之一,因为它没有说明哪里出了问题。
修复: 每当 iOS 在 safari 中打开你的 link 时,你需要在 safari 中下拉网页,然后你会看到一个横幅说,在应用程序中打开它。单击该横幅后,您的未来 link 将开始打开该应用程序,而不是在 Safari 浏览器中打开它。
没有任何错误,也没有迹象表明为什么 link 被打开我很确定,iOS 没有下载 apple-app-每当我安装应用程序时,站点关联。
另请注意,当您的 link 在 safari 中打开时,网页中的横幅将不可见,您需要下拉网页,然后横幅才会可见,如果您点击打开应用程序横幅,它将开始打开应用程序中的 links。
如果将来您 select 通过单击状态栏右侧显示的上下文菜单在 Safari 浏览器中查看 link,这将显示 "Open in [your app name]"在 safari 中,links 将来会在 safari 而不是 app 中打开,如果横幅 open in app 不可见,则必须下拉网页看到那个横幅。
HTH.
我在 iOS 12 中遇到了同样的问题,在一台设备上 link 重定向到我的应用程序,而在另一台设备上它总是重定向到 Safari 并按 link在 Notes 应用程序上只允许我在 Safari 上打开它。
我认为发生的事情是我在浏览器中粘贴了 URL 并单击了 Go,因为我认为它会重定向到我的应用程序。无论我做了什么(重新安装应用程序、重新启动设备……),结果总是一样的,重定向到 Safari。
对我有帮助的是删除我的域的缓存数据(设置 -> Safari -> 高级 -> 网站数据 -> 滑动并删除你的域的数据)。
在那之后,一切都开始工作了。
在iOS13,类似直接链接不打开应用而是直接打开safari网站的问题。
已通过更新以下 Safari 设置修复...
设置 > Safari > 请求桌面网站 > 所有网站 > 关闭
我认为这是 iOS 模拟器的错误,
就我而言,这是在我输入无效地址(包含多个空格)时发生的,例如:
有效一: myApp://order/10003101
无效的一个: myApp://order/1003131
即使使用 Valid One 它也停止工作,解决方案是清除 Safari Website Data
:
Go to Settings/Safari -> Clear History and Webstie Data
- 设备:iPhone12 Pro Max
- iOS: 14.5
- Xcode: 12.5
我正在尝试在我的应用程序中构建深入的 linking 功能。我为 deep linking 做了所有必要的设置,比如在我的应用程序中启用关联域,将 apple-app-site-association 添加到我的根目录服务器,并且我通过 https 提供有效的 apple-app-site-association,我还使用此工具验证了我的 apple-app-site-association Validate your apple-app-site-association。
在一切正常后,我在 iPad 上测试了深度 linking 功能,它按预期工作。但是当我试图在我的 iPhone 上做同样的事情时,它不起作用,它总是带我去野生动物园。我在 6s 设备上试过,我重新安装了应用程序,我清除了 Safari 网站数据并清除了历史记录。还将 iPhone & iPad 更新为 iOS 9.3.5。更新 OS 并没有改变任何事情。
iPad 仍然像在 9.3.4 上一样继续使用深度 link URL。 iPhone 仍然在 safari 中打开 link。
请给我一些关于如何解决这个问题的指示,我认为这可能是一个 apple 错误,但我还是不明白它如何在 iPad 上工作,这与 运行 相同软件为 iPhone。非常感谢任何帮助或指南。
谢谢。
我能够解决这个问题,这是我遇到的恼人问题之一,因为它没有说明哪里出了问题。
修复: 每当 iOS 在 safari 中打开你的 link 时,你需要在 safari 中下拉网页,然后你会看到一个横幅说,在应用程序中打开它。单击该横幅后,您的未来 link 将开始打开该应用程序,而不是在 Safari 浏览器中打开它。
没有任何错误,也没有迹象表明为什么 link 被打开我很确定,iOS 没有下载 apple-app-每当我安装应用程序时,站点关联。
另请注意,当您的 link 在 safari 中打开时,网页中的横幅将不可见,您需要下拉网页,然后横幅才会可见,如果您点击打开应用程序横幅,它将开始打开应用程序中的 links。
如果将来您 select 通过单击状态栏右侧显示的上下文菜单在 Safari 浏览器中查看 link,这将显示 "Open in [your app name]"在 safari 中,links 将来会在 safari 而不是 app 中打开,如果横幅 open in app 不可见,则必须下拉网页看到那个横幅。
HTH.
我在 iOS 12 中遇到了同样的问题,在一台设备上 link 重定向到我的应用程序,而在另一台设备上它总是重定向到 Safari 并按 link在 Notes 应用程序上只允许我在 Safari 上打开它。
我认为发生的事情是我在浏览器中粘贴了 URL 并单击了 Go,因为我认为它会重定向到我的应用程序。无论我做了什么(重新安装应用程序、重新启动设备……),结果总是一样的,重定向到 Safari。 对我有帮助的是删除我的域的缓存数据(设置 -> Safari -> 高级 -> 网站数据 -> 滑动并删除你的域的数据)。
在那之后,一切都开始工作了。
在iOS13,类似直接链接不打开应用而是直接打开safari网站的问题。
已通过更新以下 Safari 设置修复... 设置 > Safari > 请求桌面网站 > 所有网站 > 关闭
我认为这是 iOS 模拟器的错误,
就我而言,这是在我输入无效地址(包含多个空格)时发生的,例如:
有效一: myApp://order/10003101
无效的一个: myApp://order/1003131
即使使用 Valid One 它也停止工作,解决方案是清除 Safari Website Data
:
Go to Settings/Safari -> Clear History and Webstie Data
- 设备:iPhone12 Pro Max
- iOS: 14.5
- Xcode: 12.5