目前,我想检查我的应用程序是否安装了 Facebook 应用程序。
我在做什么:
UIApplication.shared.canOpenURL(URL(string: "fb://")!)enter code here
在 URL Schemes 中我添加了 fb,所以不要错过那部分。
但是 canOpenURL 返回 TRUE
!但该应用程序已卸载。我重新启动了设备,没有帮助。为什么会这样?
更新:一些代码
if UIApplication.shared.canOpenURL(URL(string: "fb://")!) {
self.shareToFacebook(with: completion)
} else {
progressVC.dismiss(animated: false, completion: nil)
UIApplication.shared.open(URL(string: "https://itunes.apple.com/us/app/facebook/id284882215")!)
}
解决方案:我找到了解决方案的人。在 URL 类型中,我添加了 fb45....(我的应用程序的 ID),还添加了 fb,其中一个不应该存在,我删除了 fb,只保留了带有 id 的那个,所以 openURL 现在返回 false如果未安装应用
最佳答案
您需要将 fb
添加到应用程序列表中的 LSApplicationQueriesSchemes
数组,而不是 URL schemes
数组,如下所示:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fb</string>
</array>
关于iOS canOpenURL 返回 true,但未安装应用程序(facebook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45607394/