ios:通用链接在 iOS 10 上不起作用
ios: Universal links not working on iOS 10
我正在尝试将通用 link 集成到我的 iOS 应用程序中。因此,每当有人点击 <myapp>.herokuapp.com/content
时,都会直接重定向到应用程序。我按照 this 指南进行设置。我做了以下设置,但无法正常工作。我还检查了 Whosebug 上的其他线程,但其中 none 解决了问题。
- 在我的应用程序目标的功能选项卡中添加了关联域。添加了两个域:
activitycontinuation:<myapp>.herokuapp.com
和 applinks:<myapp>.herokuapp.com
.
- 在构建阶段 > 复制捆绑资源中添加了文件 .entitlements。
- 从 https://developer.apple.com/account/#/membership
获得了 teamId
在我的网站上为 apple-app-site-association
在 https://<myapp>.herokuapp.com/apple-app-site-association
添加了一条路线 returns 以下 json:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "<teamId>.<bundleId>.dev",
"paths": [ "*" ]
},
{
"appID": "<teamId>.<bundleId>",
"paths": [ "*" ]
}
]
},
"activitycontinuation": {
"apps": [
"<teamId>.<bundleId>.dev",
"<teamId>.<bundleId>"
]
}
}
安装的应用程序从 Xcode 到 iPhone 6s Plus(物理设备),捆绑 ID <bundleId>.dev
并复制 link https://<myapp>.herokuapp.com/content
到 Notes 但它在 Safari 中打开。
将您的域粘贴到此 link 并检查它没有问题
有很多问题可能会阻止您的通用 Links 在这里工作。
以下是一些需要仔细检查的事项:
- AASA 文件是否正确命名并正确签名?
- 您正在使用物理设备进行测试吗? (有人说 Universal Links 现在可以在模拟器中与 iOS 10 一致地工作,但我仍然会使用物理设备)
- 您的设备和配置证书都没有错误吗?
- 当应用首次 installed/launched 时,AASA 文件是否可能由于网络连接问题而无法更新(例如,我发现如果 Charles Proxy 正在捕获流量,AASA 将无法下载)
- 测试的时候,你是不是先把link粘贴到记事本上,然后长按?您看到 "Open in App" 菜单选项了吗?如果是,则 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,但您仍然会发现它们很有用:
已解决问题。问题是我正在使用调试配置进行测试。当我尝试使用 Release 构建时,现在一切正常。
我正在尝试将通用 link 集成到我的 iOS 应用程序中。因此,每当有人点击 <myapp>.herokuapp.com/content
时,都会直接重定向到应用程序。我按照 this 指南进行设置。我做了以下设置,但无法正常工作。我还检查了 Whosebug 上的其他线程,但其中 none 解决了问题。
- 在我的应用程序目标的功能选项卡中添加了关联域。添加了两个域:
activitycontinuation:<myapp>.herokuapp.com
和applinks:<myapp>.herokuapp.com
. - 在构建阶段 > 复制捆绑资源中添加了文件 .entitlements。
- 从 https://developer.apple.com/account/#/membership 获得了 teamId
在我的网站上为
apple-app-site-association
在https://<myapp>.herokuapp.com/apple-app-site-association
添加了一条路线 returns 以下 json:{ "applinks": { "apps": [], "details": [ { "appID": "<teamId>.<bundleId>.dev", "paths": [ "*" ] }, { "appID": "<teamId>.<bundleId>", "paths": [ "*" ] } ] }, "activitycontinuation": { "apps": [ "<teamId>.<bundleId>.dev", "<teamId>.<bundleId>" ] } }
安装的应用程序从 Xcode 到 iPhone 6s Plus(物理设备),捆绑 ID
<bundleId>.dev
并复制 linkhttps://<myapp>.herokuapp.com/content
到 Notes 但它在 Safari 中打开。
将您的域粘贴到此 link 并检查它没有问题
有很多问题可能会阻止您的通用 Links 在这里工作。
以下是一些需要仔细检查的事项:
- AASA 文件是否正确命名并正确签名?
- 您正在使用物理设备进行测试吗? (有人说 Universal Links 现在可以在模拟器中与 iOS 10 一致地工作,但我仍然会使用物理设备)
- 您的设备和配置证书都没有错误吗?
- 当应用首次 installed/launched 时,AASA 文件是否可能由于网络连接问题而无法更新(例如,我发现如果 Charles Proxy 正在捕获流量,AASA 将无法下载)
- 测试的时候,你是不是先把link粘贴到记事本上,然后长按?您看到 "Open in App" 菜单选项了吗?如果是,则 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,但您仍然会发现它们很有用:
已解决问题。问题是我正在使用调试配置进行测试。当我尝试使用 Release 构建时,现在一切正常。