繁体   English   中英

Facebook无法在应用程序Swift 3中打开页面

[英]Facebook not open page in app swift 3

我在我的网站上有一个指向我的facebook的链接,该链接在手机的浏览器中打开。

如果安装了应用程序,我希望默认情况下在Facebook应用程序中打开它。

我试图放置此代码,但是它不起作用。 始终仅通过野生动物园而不是通过Facebook应用程序打开Facebook页面。 如果可以的话请给我。

@IBAction func supporto(_ sender: UIBarButtonItem) {
    let Username =  "831831923611308" 
    let appURL = NSURL(string: "fb://profile/\(Username)")!
    let webURL = NSURL(string: "https://facebook.com/\(Username)")!
    let application = UIApplication.shared

    if application.canOpenURL(appURL as URL) {

        if #available(iOS 10.0, *) {
            application.open(appURL as URL)
        } else {
            // Fallback on earlier versions
        }
    } else {
        if #available(iOS 10.0, *) {
            application.open(webURL as URL)
        } else {
            // Fallback on earlier versions
        }

    }

    }

我的info.plist

这是控制台错误

我可以确认您使用的代码确实有效。 我将其放置在新项目中,将其安装在手机上,并按如下所示设置Info.plist值:

信息清单

我的代码如下: 在此处输入图片说明

有几个原因可能导致您的代码无法正常工作。

  • 您可能需要清理并重建项目,以确保加载Info.plist中的更改。
  • 您可能需要验证是否已将LSApplicationQueriesSchemes添加到Info.plist并且这是设置为加载应用程序的plist。
  • 您必须在真实设备上运行此程序,因为您的模拟器不应安装Facebook。
  • 确认已安装Facebook,并且是最新的。
  • 确保您正在运行Xcode和iOS的最新版本。
  • 如果其他所有方法均失败,请删除该应用程序,然后重新生成并重新安装它。

您可以转到“项目编辑器”的“信息”选项卡,并确保使用指定的选项LSApplicationQueriesSchemes ,以检查Info.plist是否正确加载了“查询方案”。

在此处输入图片说明

如果您对不在白名单中的URL调用“ canOpenURL”方法,则即使安装了已注册用于处理此方案的应用程序,该方法也会返回“ NO”。 将会出现“此应用程序不允许查询方案xxx”的系统日志条目。

如果您对不在白名单中的URL调用“ openURL”方法,则该方法将自动失败。 将会出现“此应用程序不允许查询方案xxx”的系统日志条目。

因此,您必须在info.plist的LSApplicationQueriesSchemes中放入fb

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM