iOS通用链接不起作用?

时间:2016-11-22 23:16:46

标签: ios itunesconnect ios-universal-links

我无法获得通用链接工作

运行Apple验证失败,并显示以下错误: 错误没有与网址相关联的应用

我认为验证器可能无法正常工作,但是在iOS 10设备上运行(通用链接功能,添加了正确的域),单击有效链接不会触发AppDelegate中的委托方法

有什么想法吗?

6 个答案:

答案 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绑定到手机并打开设备的调试控制台来观察到这一点

  • Xcode –> Windows –>设备和模拟器
  • 单击左窗格中的设备
  • 点击打开控制台

从那里,我能够过滤“ 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推荐的格式。

enter image description here

答案 5 :(得分:0)

作为对以上答案的某种补充(花了我几个小时来找出答案):

在将“ apple-app-site-association”文件添加到服务器后,需要先安装该应用程序,因为该文件最初是在安装后获取/检查的。