通用链接在 iOS 10.2 中不起作用
Posted
技术标签:
【中文标题】通用链接在 iOS 10.2 中不起作用【英文标题】:Universal links doesn't work in iOS 10.2 【发布时间】:2017-03-09 10:38:20 【问题描述】:我在我的 HTTPS 根目录 (kumpul.co.id/apple-app-site-association) 中提供了 apple-app-site-association,结果从 https://branch.io/resources/aasa-validator/#resultsbox 传递过来
我已在我的权利中配置它:applinks:kumpul.co.id
我已经把这个函数放在我的 Appdelegate.swift 中:
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool
NSLog("Check Universal Link")
// 1
guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
let url = userActivity.webpageURL,
let components = URLComponents(url: url, resolvingAgainstBaseURL: true) else
return false
print("url: \(url)")
print("component: \(components)")
// 2
if let match = MatchHandler.sharedInstance.items.filter( $0.path == components.path).first
self.presentMatch(match)
return true
//3
let webpageUrl = URL(string: "http://www.kumpul.co.id")!
application.openURL(webpageUrl)
return false
对于路径,我设置了 "paths": [ "/match/*"] 因为链接将是 kumpul.co.id/match/play_2.html 例如
但是当我点击我在 WhatsApp 或 Line 消息上的链接时,这个函数根本不会被调用,当我点击链接时我看不到日志。我在这里做错了什么?
【问题讨论】:
【参考方案1】:Line 与 Universal Links 不兼容,因此测试用例无效。当在 Line 中单击通用链接时,您的应用程序不会打开,即使一切配置都完美(您需要使用号召性用语按钮提供内容的 Web 预览,例如 this — 存在同样的问题on Facebook,顺便说一句)。
WhatsApp 应该可以运行。如果您的应用在点击链接时甚至没有启动,则说明您存在配置问题。您可以尝试在this page 上完成一些故障排除步骤。如果您的应用正在启动,那么您的配置是正确的,您应该验证continue userActivity
中的逻辑
【讨论】:
当我在 search.developer.apple.com/appsearch-validation-tool 检查我的链接 (kumpul.co.id.match/play_70.html) 时,它说“错误没有具有域权利的应用程序用于验证深度链接双重身份验证的权利数据来自您当前发布的版本应用程序。此数据可能需要 48 小时才能更新。”但是,从branch.io/resources/aasa-validator/#resultsbox 开始,它通过了所有验证,为什么会发生这种情况?我在我的项目中添加了我的权利 applinks:kumpul.co.id 那是“App Search API Validation Tool”,而不是“Universal Links Validation Tool”(Apple 不提供)。此工具的结果与通用链接是否有效无关以上是关于通用链接在 iOS 10.2 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
iOS 通用链接在 react-native iOS 中不起作用
Facebook / twitter链接在ios ionic App中不起作用
为啥 iframe 中的链接在 phonegap ios 应用程序中不起作用?