如何检测iOS设备上是否安装了Facebook应用程序?

21
在iOS上,您可以启动Facebook应用程序并通过打开以下URL链接到个人资料: fb://profile/12345。
唯一的问题是,如果未安装Facebook应用程序,则什么也不会发生。
是否有一种方法来检测应用程序是否已安装或是否支持URL方案fb://?
这同样适用于其他应用程序,例如Twitter。

https://dev59.com/D4_ea4cB1Zd3GeqPLjwi#39159507 - TharakaNirmana
2个回答

51
BOOL isInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]]

if (isInstalled) {

} else {

}

12
您还需要将LSApplicationQueriesSchemes密钥包含在info.plist中,以便在iOS 9上使用值“fb”。 - Borut Tomazin

7

尝试只使用canOpenURL:函数

NSURL *fbURL = [NSURL URLWithString:@"fb://"];//or whatever url you're checking

if ([[UIApplication sharedApplication] canOpenURL:fbURL])
{
  //open it etc  
}

1
请勿鼓励重复提问。 - rmaddy
1
我在看到关闭投票之前就写了它。好的决定,我也会投票。 - Tommy Devoy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接