iOS canOpenURL 返回 true,但未安装应用程序(facebook)

标签 ios swift facebook url

目前,我想检查我的应用程序是否安装了 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/

相关文章:

ios - 无法连接到 Frida 小工具插入到 ipa 文件

ios - 尝试实现 iAd 删除但得到 "AnyObject is not convertible to..."

php - (#803) 您请求的某些别名不存在 : facebook graph api

javascript - 获取在线用户facebook api

ios - 这种类型的闭包应该意味着什么,它是如何工作的?

iOS核心数据IN运算符,无法解析格式字符串

ios - 我仅在使用 iOS Facebook 集成时获得 Facebook Active Access Token

ios - 即使设备连接到 Wifi 或移动数据,也检查互联网可用性

ios - 具有生产、开发、测试环境的两个应用程序,Firebase 控制台中的最佳实践?

facebook - 从 Node.js 服务器自动发布到我的 Facebook 页面