首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不声明LSApplicationQueriesSchemes的情况下,facebook应用程序链接是如何工作的?

在不声明LSApplicationQueriesSchemes的情况下,facebook应用程序链接是如何工作的?
EN

Stack Overflow用户
提问于 2016-05-20 11:31:34
回答 1查看 754关注 0票数 12

在iOS 9中,应用程序无法使用canOpenURL来检查应用程序是否已安装。

如果您的(iOS 9.0或更高版本)应用程序使用未声明的方案调用此方法,则该方法将返回false,无论该方案的适当应用程序是否已安装在设备上。

但我想知道,如果应用程序没有安装,facebook应用程序是如何成功地引导用户应用程序的,或者如果安装了应用程序,就打开目标应用程序!

facebook不能列出LSApplicationQueriesSchemes中的所有应用程序!

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-09-17 12:17:34

来自canOpenURL: 文档

与此方法不同,openURL:方法不受UIDefaultLaunchStoryboard要求的限制:如果在设备上安装了处理方案的应用程序,则无论您是否声明了该方案,openURL:方法都能工作。

因此,他们所做的如下:

1)尝试用符合fb的urls调用openURL:,例如fb[app-id]://authorize...,直到它返回true为止(我检查了它,它们调用了很多urls,例如fb[app-id]litefb[app-id]macfb[app-id]paidfb[app-id]green等等)。如果它成功了,目标应用程序就会打开。

2)如果调用openURL:没有成功,则尝试用http://itunes.apple.com/app/... url调用canOpenURL:,然后用相同的url调用openURL:。用户被重定向到App。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37345597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档