即使我指定启动服务密钥,canOpenURL也总是返回false

时间:2017-11-01 12:48:43

标签: ios facebook-messenger info.plist uiapplication

我正在尝试检测是否安装了特定应用,并且根据文档,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://"]]){}

我仍然是假的......我在这里失踪了什么?

1 个答案:

答案 0 :(得分:1)

Facebook Messenger使用:

<string>fb-messenger-api</string>

作为其URL方案。