如何调试通用链接

时间:2018-08-03 15:01:37

标签: ios xcode cordova ios-universal-links

我使用cordova插件“ ionic-plugin-deeplinks”(据我所知,也可以与普通的cordova应用程序一起使用)。

在Android上,单击链接可让用户在chrome和我的应用程序之间进行选择。 =>我认为应用程序链接有效 =>因为我能够访问window.IonicDeeplink并将用户重定向到正确的页面

在iOS上,我没有相同的行为,当我单击链接时,总是会在Safari中打开该应用。

如何找到有关问题的线索?

更多上下文:

  • apple-app-site-association带有HTTP 200(仅通过https),位于/.well-known/apple-app-site-association中:
    • 我至少检查了5次TeamID和BundleID;
    • 使用branch.io validator,我将所有验证变为绿色:
      • 您的域有效(有效的DNS)。
      • 您的文件通过HTTPS提供。
      • 您的服务器不会返回大于400的错误状态代码。
      • 找到文件的“内容类型”标头:)
      • 您的JSON已通过验证。
    • 使用apple validator,我得到:“需要采取措施 无法提取通用链接所需的信息。了解如何实施推荐的通用链接。 错误没有具有域授权的应用 用于验证深度链接双重身份验证的权利数据来自应用程序的当前发行版本。这些数据可能需要48个小时才能更新。” (但是一些开发人员说工作中的应用会添加相同的错误)该结果如何处理?
    • 在使用xCode安装应用程序时监视服务器的日志时,我看到一个请求在apple-app-site-association上获得了HTTP 200
  • 使用xCode安装应用程序时,我没有在xCode中引用swcd的日志(如果安装应用程序时出错,我应该读here)。 安装成功了吗?
  • 我遵循了that guide来设置权利,但是有些事情让它感到奇怪:
    • 与指南中的快照不同,我没有在项目中找到任何*.entitlements文件。 我应该和科尔多瓦一起玩吗?(我的xCode似乎还记得我的设置)。 是否可以检查已安装的应用程序是否有权利?
    • 我确实在xCode中设置了我的域,例如:applinks:mydomain.com,并且开关处于打开状态。但是我从来没有将任何东西从本地开发环境上传到Apple服务。 我应该有吗?如果是,怎么办?

突出显示了我当前的询问,但是对任何缺乏理解的解释都将受到欢迎!!!

直到我开始对testFlight进行验证以查找更多信息。

1 个答案:

答案 0 :(得分:2)

使用xCode安装应用程序时,我没有在xCode中引用swcd的日志

我手动实现了通用链接,但是情况类似。特别是在安装应用程序时,我提到空的 swcd 进程日志,事实证明,iOS最有可能甚至没有尝试下载 apple-app-site-association 文件,就像没有执行负责任的流程一样。在我看来,设备重启有助于实现深层链接。

因此,当您确定所有设置后,我认为重启设备是故障排除的又一步。