我有几个关于通用链接实现的问题。我从SO/其他来源读了很多信息,但问题仍然存在。
首先,我想说我正确地配置了项目(添加了授权,添加了回调到AppDelegate),并正确地配置了我的团队id/bundle id的AASA(我有一个来自另一个服务的工作示例)。
Quiestion # 1。
根目录是否仍然是apple-app-site-association
(进一步的AASA)文件的工作位置?我如何与SWCD核对它(应该是什么样的消息)?我发现下一个问题:我们的网站基于WordPress,这是一个有点问题(我不熟悉WordPress -只有我的同事的话)添加这个文件到.well-known
目录。所以我的同事直接将AASA添加到根目录。但是,通用链接不起作用。我从设备日志中只发现了一条有意义的消息:(加载AASA文件失败)-
Request for '<private>' denied due to HTTP status 404 on route .wk for task AASA-1D53AE3E-9261-413F-B384-20D1DC57B81A { domain: ch….dk?mode=developer, bytes: 0, route: .wk }
似乎SWCD试图从不存在的.well-known
目录加载文件(因为404错误),但我不明白是它试图从根目录加载文件。
另外,我试图通过验证器运行我的网站-它失败了。从这个源代码—使用根目录或.well-known
目录没有区别—它们都应该工作。
好,让我们假设这个验证器是错误的。
问题# 2。
有可能100%找到问题的确切位置吗?(iOS或后端/站点端)
目前还不清楚https://search.developer.apple.com/appsearch-validation-tool是如何工作的。例如,我查看了facebook.com。
Results: Link to Application is passed. Universal = true.
我检查了instagram.com。
Results: Link to Application - no exact answer. Universal = false.
结果是相当模糊的。
无论如何,http://instagam.com/apple-app-site-association和http://facebook.com/apple-app-site-association都返回有效文件,我确信通用链接正在通过他们的iOS应用程序工作。
问题# 3。
我在Postman中检查了几个AASA文件。我注意到我的AASA文件不包含content-type
头。Facebook、Instagram和其他网站的AASA文件都包含这个标题。它们都有不同的值,但是它们在响应中返回. 这是个问题吗?
# 4的问题。
还有其他想法吗?我将不胜感激。我认为我的问题是iOS系统不识别来自我网站的AASA文件。但我现在不知道如何解决它。
分支。io和Apple Validator是无用的。最好直接验证json。 使用iOS 13版本的"apple-app-site-association"文件。 Apple CDN缓存" Apple -app-site-association"文件数据。测试时使用开发人员模式。 在开发者模式下app获取"apple-app-site-association"直接从您的站点获取数据。 要在开发人员模式下测试设备,请在settings中启用相关域->development… 上传"apple-app-site-association"文件头应该是 不要忘记在完成测试后禁用开发者模式。{
"applinks": {
"apps": [],
"details": [
{
"appID": "ABC1234567.co.app.prod",
"paths": ["/first/*", "/second/*"]
},
{
"appID": "ABC1234567.com.app.dev",
"paths": ["/first/*", "/second/*"]
}
]
}
}
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:example.com?mode=developer</string>
</array>
content-type=application/json.