获取服务'applinks',应用ID'&lt; <null>&gt;'的信息

时间:2017-02-24 14:54:29

标签: ios iphone ios-universal-links

尝试在运行iOS 10的iOS应用中实现通用链接,只要点击网页中的链接,我就会在设备日志中收到以下消息:

Feb 24 15:07:11 iPhone swcd(CoreUtils)[10142] <Notice>: Get info for service 'applinks', app ID '<<NULL>>', domain 'www.redacted...'

我的应用已设置了此域所需的权利和功能。我的关联域权利密钥包含以下域:

applinks:redacted.com
applinks:www.redacted.com

服务器通过https在根文件夹上托管apple-app-site-association文件。我确保文件的内容类型设置为application / json,并且没有重定向导致它。该文件的内容是:

{
    "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "teamid.redacted-app-id",
        "paths": ["*"]
      }
    ]
  }
}

我正在测试的方法是进入我的网站并点击我找到的第一个链接,每次点击此链接时,我都会收到上面粘贴的消息,并在Safari中打开链接。

3 个答案:

答案 0 :(得分:2)

您对问题的描述并未提供任何可能出现问题的吸烟枪指示。正如我在之前的评论中指出的那样,要真正解决Universal Linking问题,最好知道配置的所有内容,并制定适当的测试计划,以便重现配置和测试。有太多的区域可能会导致问题。

通常,Universal Linking的问题可能是设置问题或测试问题:

设置问题

  • AASA文件是否正确命名并正确签名,是否从正确的位置提供服务,所有权利是否正确?

  • 设备和配置证书是否都没有错误?

  • 您是否正在测试应用已正确配置支持的链接?

测试问题

  • 您是否正在使用物理设备进行测试? (有人说Universal Links现在在iOS 10的模拟器中一直工作,但我仍然使用物理设备)

  • 您正在测试哪些链接?您表明您正在进入我的网站并点击我找到的第一个链接。&#34;您在&#34; redacted.com&#34;中找到了这些链接吗?域?我不会使用&#34; www.redacted.com&#34; as&#34; www&#34;许多系统得到特殊处理,可能无法按预期工作。

  • 由于测试环境的网络连接问题,首次安装/启动应用时,AASA文件是否无法更新?例如,如果Charles Proxy正在捕获流量,我发现AASA将无法下载。如果AASA文件未进入设备,则Universal Linking将无法使用。

  • 测试时,听起来好像您没有先将链接粘贴到Notes中,然后长按它。我强烈建议您首先以这种方式进行测试,以便排除与您的网站相关的问题,您从中点击链接的应用程序,或者您部署链接的方式(Universal Links将例如,如果将它们粘贴到Safari地址栏中,则表现不尽如人意。当您通过长按Notes中的链接进行测试时,您应该看到&#34;在应用程序中打开&#34;菜单选项。如果您确实看到了这一点,但点击链接无法打开应用,则表示已在设备上禁用了通用链接。

  • 点击这些链接时,您期望看到的行为是什么,您看到的实际行为是什么?我经常遇到那些认为Universal Linking被破坏的人,因为他们正在测试Universal Linking不支持的场景。您确定支持您正在测试的行为吗?

  • 您使用的是支持Universal Links的设备和iOS版本吗?测试应该在物理设备上执行,如前所述,以及9.0之后的iOS版本(引入Universal Linking)。

当Universal Linking不起作用时,有很多事情需要检查。我建议您浏览Alex Austen关于此主题的超级博文,因为这样做可以帮助您发现问题(此处:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9/)。

Branch还有许多用于识别通用链接问题的工具/资源。它们专门用于分支链接,但您仍然可以发现它们有用:

答案 1 :(得分:1)

在这里查看日志是(taken from SO):

  • Xcode –> Windows –>设备和模拟器
  • 单击左侧的设备 窗格,单击“打开控制台”
  • 从那里,过滤“ swcd”(SharedWebCredential守护程序)。保持此控制台打开。

如果您在关闭应用程序dunno时可以保存历史记录,则可能需要先打开控制台。


我的问题:

我将我的apple-app-site-association文件托管在 subdomain.mydomain.com 上,但是在Xcode中,我将 Associated Domains 设置为applinks:*.mydomain.com。在上面提到的控制台中,我看到在这种情况下,该应用程序试图从 mydomain.com 中获取其 apple-app-site-association 文件。因此,我将关联域更改为applinks:subdomain.mydomain.com

答案 2 :(得分:0)

如果上述解决方法都不适合您,请检查您是否在关联的域中添加了活动继续。

下面的图片显示了必须添加的确切位置。 (当然您还没有这样做)。

xcode associated domain