我正在尝试检测是否安装了特定应用,并且根据文档,canOpenURL方法可以提供帮助。我也在iOS 11上,并根据文档,为> iOS 9,重要的是要记住:
重要信息如果您的应用在iOS 9.0上或之后进行了关联,则必须声明 要传递给此方法的URL方案。这样做是通过添加 LSApplicationQueriesSchemes是应用程序的Info.plist文件的关键。如果你 对于未使用该键声明的方案调用此方法,此方法 无论是否安装了适当的应用程序,始终返回false。 要了解有关密钥的更多信息,请参阅LSApplicationQueriesSchemes。
意味着在Info.plist
中,我应该添加如下内容:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>messenger</string>
</array>
到目前为止,这么好。但是,当我尝试检测是否安装了应用程序时,如下所示:
if( [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"messenger://"]]){}
我仍然是假的......我在这里失踪了什么?
答案 0 :(得分:1)
Facebook Messenger使用:
<string>fb-messenger-api</string>
作为其URL方案。