在 iOS 上,如何以编程方式确定 URL 是通用链接还是只是常规 Web URL?
假设您要启动 URL http://www.yelp.com从您自己的 iOS 应用程序。 (http://www.yelp.com 是一个完全注册的通用链接。)
案例一)用户没有安装该应用 -> 您希望在应用内 webview 中向他们展示该网站。
情况二)用户确实安装了该应用程序 -> 您想要启动您的应用程序并使用 [[UIApplication sharedApplication] openURL:URL] 直接深度链接到 yelp 应用程序;而不是在应用程序中呈现 WebView 。
问题是: 您所要做的只是字符串 url:“http://www.yelp.com”您的目标是在已安装的情况下启动 yelp 应用程序,但在未安装 yelp 的情况下显示应用程序内 webview。
注1:本题只针对通用链接。请不要给出使用 URL 方案的答案。
注意2:这个问题不是专门启动yelp app。该解决方案应该适用于任何 url,以确定它是否是已安装应用的通用链接。
你能做到吗?
最佳答案
使用 UIApplicationOpenURLOptionUniversalLinksOnly
检测链接是否通用
解决方法如下:
[[UIApplication sharedApplication] openURL:url
options:@{UIApplicationOpenURLOptionUniversalLinksOnly: @YES}
completionHandler:^(BOOL success){
if(!success) {
// present in app web view, the app is not installed
}
}];
关于ios - 如何以编程方式确定 URL 是通用链接还是只是常规 Web URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41579374/