我无法获得通用链接工作
运行Apple验证失败,并显示以下错误: 错误没有与网址相关联的应用
我认为验证器可能无法正常工作,但是在iOS 10设备上运行(通用链接功能,添加了正确的域),单击有效链接不会触发AppDelegate中的委托方法
有什么想法吗?
答案 0 :(得分:11)
3个星期后......事实证明我的路径不正确。我的建议是:
在调试时将路径设置为["*", "/"]
,让所有内容工作并进行测试,然后在最后一步更新路径并仅包含支持的路径。
更具体地说,我试图注册的链接是
site.com/events/123123
所以我会为/events
添加一个注册site.com/events
错误的路径。我必须注册/events/*
而不是
测试它的最简单方法是在Notes
应用程序中输入预期的链接,因为Safari在将链接作为深层链接处理时有一些奇怪的逻辑。
Apple的app-site-association验证工具没用,当我发现深层链接实际工作时,我仍然没有抱怨我的App ID。而是使用https://limitless-sierra-4673.herokuapp.com/
答案 1 :(得分:4)
我最近在调试应用程序的 Universal Link 功能时遇到问题。 我能够与工作建立更深的联系,但似乎只有10%的时间可以工作。由于我刚刚更新到 iOS 12 ,因此我想确保作为开发人员不必做其他事情以确保该功能正常运行。
那是什么导致间歇性故障? 似乎iOS有一个比较严格的策略引擎来确定何时可以运行后台线程。 我可以通过USB绑定到手机并打开设备的调试控制台来观察到这一点
从那里,我能够过滤“ swcd ”( SharedWebCredential守护程序)。保持此控制台打开状态,我能够在应用安装期间看到守护程序在工作,这是iOS尝试为我的应用下拉 apple-app-site-association 文件的时候。
事实证明, dasd ( DuetActivitySchedulerDaemon )无法运行 SharedWebCredential守护程序,因为我的手机最近重新启动,然后又重新启动确定我的手机太热了...
例如
{name: ThunderingHerdPolicy, policyWeight: 1.000, response: {Decision: Must Not Proceed, Score: 0.00, Rationale: [{deviceInUse == 1 AND timeSinceThunderingHerdTriggerEvent < 900}]}}
], FinalDecision: Must Not Proceed}
{name: ThermalPolicy, policyWeight: 5.000, response: {Decision: Absolutely Must Not Proceed, Score: 0.00, Rationale: [{thermalLevel >= 20}]}}
], FinalDecision: Absolutely Must Not Proceed}
开发者当心!
答案 2 :(得分:2)
我已逐步回答了苹果公司的troubleshooting universal links procedure,正如其他答案中已经提到的那样。
如果仍然无法正常工作,并且长按邮件或便笺应用程序中的链接,但显示“使用[您的应用程序打开]”失败,请尝试重新启动手机。几次以上,这一直是我的解决方案!
答案 3 :(得分:1)
Apple验证程序会检查Universal Links不需要的其他一些工作,不幸的是,这通常会导致错误的错误消息。 https://couchsurfing.com/apple-app-site-association的文件对我来说很好,它传递this validator就好了。
点击有效链接时,应用是否未打开,或只是代理方法不会触发?这是两个非常不同的问题,会有不同的解决方案。您可以尝试一些问题排查步骤here,但其中一些步骤特定于Branch.io(完全披露:我在分支机构团队中)链接平台。
答案 4 :(得分:0)
我找到了一个有效的网站。
我只是注意到它们提供的JSON格式实际上与我们提供的JSON格式不同。
他们的看起来像这样。
{
"applinks": {
"apps": [],
"details": {
"VPN42CNA7H.tv.abema.AbemaTV": {
"paths":[ "*" ]
}
}
}
}
由https://abema.tv/.well-known/apple-app-site-association提供,带有此标头,根据Apple的文档,该标头不应被接受:application/octet-stream
在https://search.developer.apple.com/appsearch-validation-tool上与Apple的验证者确认
URL为https://abema.tv
这很有趣,因为它们的JSON格式看起来不像Apple推荐的格式。
答案 5 :(得分:0)
作为对以上答案的某种补充(花了我几个小时来找出答案):
在将“ apple-app-site-association”文件添加到服务器后,需要先安装该应用程序,因为该文件最初是在安装后获取/检查的。