获取服务 'applinks'、应用程序 ID“<<NULL>>”的信息
Get info for service 'applinks', app ID '<<NULL>>'
尝试在我的 iOS 应用程序 运行 iOS 中实现通用 links 10,每当在我的网页中单击 link 时,我都会得到设备日志中的以下消息:
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": ["*"]
}
]
}
}
我测试这个的方法是进入我的网站并点击我发现的第一个 link,每次我点击这个 link 我都会收到上面粘贴的消息和 link 在 safari 中打开。
您对问题的描述没有提供任何确凿证据表明问题可能是什么。正如我在之前的评论中指出的那样,要真正解决通用 Linking 问题,最好了解已配置的所有内容,并制定适当的测试计划以重现配置和测试。可能导致问题的地方太多了。
一般来说,Universal Linking 的问题分为设置问题或测试问题:
设置问题
AASA 文件是否正确命名并正确签名,是否从正确的位置提供服务,所有权利都正确吗?
设备和配置证书都没有错误吗?
您是否在测试应用已正确配置支持的link?
测试问题
您是否使用物理设备进行测试? (有人说 Universal Links 现在可以在模拟器中与 iOS 10 一致地工作,但我仍然会使用物理设备)
你在测试什么link?您表明您是 "going into my site and tapping the first link I find." 您是在 "redacted.com" 域中找到的这些 link 吗?我不会使用 "www.redacted.com",因为 "www" 受到许多系统的特殊对待,可能无法按预期工作。
当应用首次 installed/launched 时,AASA 文件是否可能由于测试环境的网络连接问题而无法更新?例如,我发现如果 Charles Proxy 正在捕获流量,AASA 将无法下载。如果 AASA 文件没有进入设备,Universal Linking 将不起作用。
测试的时候,好像不是先把link粘贴到记事本,然后长按。我强烈建议您总是首先以这种方式进行测试,以排除与您的网站、您从中点击 link 的应用程序或您部署 link(例如,如果将通用 Links 粘贴到 Safari 地址栏中,它们将不会按预期运行)。当您通过长按 Notes 中的 link 进行测试时,您应该会看到 "Open in App" 菜单选项。如果您确实看到了这一点,但点击 link 并没有打开该应用程序,则表明通用 Linking 已在设备上被禁用。
当您点击这些 link 时,您期望看到的行为是什么?您看到的实际行为是什么?我经常遇到认为 Universal Linking 已损坏的人,因为他们正在测试 Universal Linking 不支持的场景。您确定支持您正在测试的行为吗?
您使用的设备和 iOS 版本是否支持通用 Links?如前所述,应在物理设备上进行测试,并在 9.0 之后的 iOS 版本(其中引入了 Universal Linking)上进行测试。
当 Universal Linking 不起作用时,有很多东西需要检查。我推荐 运行 通过 Alex Austen 关于这个主题的超级博客 post,因为这样做可以帮助您发现问题(此处:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9/)。
Branch 还有一些 tools/resources 用于识别通用 Linking 问题。它们专门用于 Branch links,但您可能仍然会发现它们很有用:
如果上述解决方法中的 none 对您有效,请检查您是否在相关域中添加了 activitycontinuation。
下图显示了您必须添加的确切位置。
(当然你还没有这样做)。
看看这里的日志是怎样的():
- Xcode –> Windows –> 设备和模拟器
- 点击左侧的设备
窗格单击“打开控制台”
- 从那里,过滤 "swcd"(SharedWebCredential 守护进程)。保持此控制台打开。
如果它在关闭时保存历史记录,您可能需要在安装应用程序之前打开控制台。
我的问题:
我的 apple-app-site-association
文件托管在 subdomain.mydomain.com 但后来在 Xcode 我有 关联域 设置为 applinks:*.mydomain.com
。在上面提到的控制台中,我看到在这种情况下,应用程序试图从 mydomain.com 获取其 apple-app-site-association 文件.所以我将 关联域 更改为 applinks:subdomain.mydomain.com
尝试在我的 iOS 应用程序 运行 iOS 中实现通用 links 10,每当在我的网页中单击 link 时,我都会得到设备日志中的以下消息:
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": ["*"]
}
]
}
}
我测试这个的方法是进入我的网站并点击我发现的第一个 link,每次我点击这个 link 我都会收到上面粘贴的消息和 link 在 safari 中打开。
您对问题的描述没有提供任何确凿证据表明问题可能是什么。正如我在之前的评论中指出的那样,要真正解决通用 Linking 问题,最好了解已配置的所有内容,并制定适当的测试计划以重现配置和测试。可能导致问题的地方太多了。
一般来说,Universal Linking 的问题分为设置问题或测试问题:
设置问题
AASA 文件是否正确命名并正确签名,是否从正确的位置提供服务,所有权利都正确吗?
设备和配置证书都没有错误吗?
您是否在测试应用已正确配置支持的link?
测试问题
您是否使用物理设备进行测试? (有人说 Universal Links 现在可以在模拟器中与 iOS 10 一致地工作,但我仍然会使用物理设备)
你在测试什么link?您表明您是 "going into my site and tapping the first link I find." 您是在 "redacted.com" 域中找到的这些 link 吗?我不会使用 "www.redacted.com",因为 "www" 受到许多系统的特殊对待,可能无法按预期工作。
当应用首次 installed/launched 时,AASA 文件是否可能由于测试环境的网络连接问题而无法更新?例如,我发现如果 Charles Proxy 正在捕获流量,AASA 将无法下载。如果 AASA 文件没有进入设备,Universal Linking 将不起作用。
测试的时候,好像不是先把link粘贴到记事本,然后长按。我强烈建议您总是首先以这种方式进行测试,以排除与您的网站、您从中点击 link 的应用程序或您部署 link(例如,如果将通用 Links 粘贴到 Safari 地址栏中,它们将不会按预期运行)。当您通过长按 Notes 中的 link 进行测试时,您应该会看到 "Open in App" 菜单选项。如果您确实看到了这一点,但点击 link 并没有打开该应用程序,则表明通用 Linking 已在设备上被禁用。
当您点击这些 link 时,您期望看到的行为是什么?您看到的实际行为是什么?我经常遇到认为 Universal Linking 已损坏的人,因为他们正在测试 Universal Linking 不支持的场景。您确定支持您正在测试的行为吗?
您使用的设备和 iOS 版本是否支持通用 Links?如前所述,应在物理设备上进行测试,并在 9.0 之后的 iOS 版本(其中引入了 Universal Linking)上进行测试。
当 Universal Linking 不起作用时,有很多东西需要检查。我推荐 运行 通过 Alex Austen 关于这个主题的超级博客 post,因为这样做可以帮助您发现问题(此处:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9/)。
Branch 还有一些 tools/resources 用于识别通用 Linking 问题。它们专门用于 Branch links,但您可能仍然会发现它们很有用:
如果上述解决方法中的 none 对您有效,请检查您是否在相关域中添加了 activitycontinuation。
下图显示了您必须添加的确切位置。 (当然你还没有这样做)。
看看这里的日志是怎样的(
- Xcode –> Windows –> 设备和模拟器
- 点击左侧的设备 窗格单击“打开控制台”
- 从那里,过滤 "swcd"(SharedWebCredential 守护进程)。保持此控制台打开。
如果它在关闭时保存历史记录,您可能需要在安装应用程序之前打开控制台。
我的问题:
我的 apple-app-site-association
文件托管在 subdomain.mydomain.com 但后来在 Xcode 我有 关联域 设置为 applinks:*.mydomain.com
。在上面提到的控制台中,我看到在这种情况下,应用程序试图从 mydomain.com 获取其 apple-app-site-association 文件.所以我将 关联域 更改为 applinks:subdomain.mydomain.com