我使用的是cordova插件“ionic-plugin-deeplinks”(据我所知,它也适用于普通的cordova应用程序)。
在Android上,点击链接时,用户可以在chrome和我的应用程序之间进行选择。=〉我认为应用程序链接工作正常=〉因为我能够访问window.IonicDeeplink并将用户重定向到正确的页面
我不能在iOS上有同样的行为,当我点击一个链接时,我总是在Safari中打开应用程序。
如何找到问题的线索?
更多背景信息:
apple-app-site-association
是通过HTTP 200获得的(仅限https),它位于/.well-known/apple-app-site-association
:- 我检查了TeamID和BundleID 5次(至少);
- 使用branch.io validator时,所有确认均为绿色:
- 您的域有效(DNS有效)。
- 您的文件通过HTTPS提供。
- 服务器返回的错误状态代码不大于400。
- 找到文件的“content-type”标头:)
- JSON已验证。
- 使用apple validator,我得到了:* “所需操作无法提取通用链接所需的信息。了解如何实现建议的通用链接。错误:没有具有域授权的应用用于验证深层链接双重身份验证的授权数据来自应用的当前发布版本。此数据可能需要48小时才能更新。"*(但一些开发人员表示,工作中的应用会添加相同的错误)如何处理该结果?
- 在使用Xcode安装应用程序的同时监测服务器日志时,我在
apple-app-site-association
上看到一个获取HTTP 200的请求 - 在使用Xcode安装应用程序时,我没有在Xcode中获得引用swcd的日志(如果在安装应用程序时出现错误,我应该读取here)。是否为静默安装成功?
- 我按照that guide来设置权利,但有些事情感觉很奇怪:
- 与指南中的快照不同,我在项目中没有找到任何
*.entitlements
文件。我是否应该有一个带有cordova的文件?(但我的xCode似乎记得我的设置)。是否可以检查已安装的应用是否获得授权? - 我在Xcode中设置的域是这样的:
applinks:mydomain.com
并且开关打开。但我从未将任何内容从本地开发环境上传到苹果服务。我应该上传吗?如果是,如何上传?
我目前的审讯是突出的,但任何解释任何缺乏理解将是非常欢迎的!!!
在此之前,我开始验证testFlight,寻找更多信息。
2条答案
按热度按时间wlzqhblo1#
在使用Xcode安装应用程序时,我没有在Xcode中获得引用swcd的日志
我手动实现了通用链接,但情况类似。特别是我在安装应用程序时提到了空的swcd进程日志,结果很可能iOS甚至没有尝试下载apple-app-site-association文件,就像没有运行负责的进程一样。在我的情况下,设备重启帮助了我,深度链接开始工作。
因此,我认为重新启动设备是另一个步骤,在故障排除时,你肯定你的所有设置。
uinbv5nw2#
对于任何试图在开发中调试此问题的人:
1.在XCode中,确保您正在编辑“签名和功能”的调试版本。
1.要绕过Apple Universal Links CDN,请配置调试域,如applinks:?mode=developer--在开发中添加该查询字符串非常重要。
1.在您的iOS设备上,进入设置-〉开发者-〉通用链接并确保打开关联域开发切换。
1.在您的iOS设备上的设置-〉开发者-〉通用链接-〉诊断中,输入您的通用链接URL并确保您看到绿色复选标记。
完成所有这些步骤后,通用链接将在本地工作。