与“applinks:”关联的域在开发中不起作用

Nic*_*ick 6 ios

我正在尝试在 iOS 14 的未发布应用程序中设置关联域。我尽可能遵循文档。我正在使用本地开发网络服务器以及模拟器和真实 iPhone 中的应用程序本身进行本地测试。

不仅链接无法在我的应用程序中打开,应用程序甚至不会尝试https://mycomputer.local/.well-known/apple-app-site-association从本地 Web 服务器请求文件(我让 Web 服务器在请求时打印一条调试消息,但仅当我手动加载时才会打印该消息)来自网络浏览器)。

这是我已经完成/检查过的事情的列表:

  • Xcode 12.2:
    • 在“签名和功能”下添加了关联域
    • 添加到域:(applinks:mycomputer.local?mode=developer我也尝试过IP地址)
    • 我禁用了自动管理签名,而是在https://developer.apple.com/account/resources/profiles/list上创建了一个配置文件(类型Development,平台iOS,它具有关联域以及其他启用的功能,并且链接到我的应用程序包ID)并选择该配置文件进行调试构建。
  • 我确保可以https://mycomputer.local/.well-known/apple-app-site-association从所有涉及的设备访问该 URL,即我的计算机、模拟器中的 Safari、真实 iPhone 上的 Safari(所有设备都连接到本地网络并成功显示我的 JSON 文件)。

截屏: 在此输入图像描述

如上所述,我几乎可以排除问题在于 JSON 文件本身,因为我可以证明设备甚至没有访问它。我是否遗漏了什么或误解了这个概念?

Nic*_*ick 3

我自己的答案:按照文档?mode=developer中的描述在权利中使用查询字符串似乎根本不起作用。

为了验证这一点,我设置了一个可以在互联网上公开访问的真实服务器,并尝试了两种变体:

  1. applinks:example.com
  2. applinks:example.com?mode=developer

第 1 种方法可行,但 JSON 是通过 Apple 的 CDN 加载的,您无法将其用于本地开发或快速测试 JSON 文件的不同版本,因为 Apple 可能会将该文件缓存一天。

2号根本不起作用,不会向服务器发出任何请求。

  • 回家了,他们让这件事变得如此复杂? (4认同)