通用链接不适用于真实设备

Val*_*pss 5 iphone redirect ios swift ios-universal-links

我目前正在努力在我的应用程序中实现通用链接,无论是使用命令行 xcrun simctl openurl booted 还是通过点击消息中的链接,它们都可以在我的模拟器上完美运行

但我无法在真实设备上运行它们(使用 3 个不同的 iOS 14.X 版本测试了 3 个不同的 iPhone)

应用程序配置 > 签名和功能 > 关联域正确设置为applinks:<domain_name>.

我已经尝试过:

  • 卸载/重新安装应用程序
  • 清理我的构建存储库
  • 重新启动我的设备
  • 安装App后等待5分钟
  • 使用另一个 HTTP 协议作为路由https://<domain>/.well-known/apple-app-site-association
  • 点击许多应用程序中的链接(消息、不和谐、注释...)
  • 使用 ngrok / localtunnel / apache 服务器公开我的网站(在产品中)
  • 在开发者设置中打开/关闭“关联域开发”

我已经在 AASA 验证器网站(如branch.io 或 appsflyer.com)上进行了验证,一切正常,一旦我将应用程序重新安装到我的 iPhone 上,就会请求 aasa 文件,并返回带有200 OK正确内容的 http 响应Content-Type : application/json

我没有办法解决这个问题。我真的希望在将应用程序部署到应用商店之前使其正常工作,即使它在模拟器上运行良好。

感谢您今后的帮助

Moj*_*ini 1

不幸的是,通用链接并非对每个人都可靠,这似乎是 AASA 文件未下载到设备中的问题。

已知错误

Apple存在一个已知的普遍错误,即 iOS 版本 11.x+ 的设备无法获取 AASA 文件,从而导致通用链接失败。

验证问题

通常,Apple 操作系统会在某个时间间隔内重新尝试获取 AASA 文件,但解决方法可能有助于测试条件。在应用程序内,检查 AASA 文件是否下载成功。去做这个:

  • 将链接复制到您的笔记应用程序中。

  • 长按链接直到出现下拉菜单。如果下拉列表显示“打开链接”,则通用链接不适用于该设备。如果链接显示“在应用程序名称中打开”,则配置工作正常。

后备方案

您还可以借助用户代理和其他东西在服务器端实现回退深度链接调用