iOS Facebook URL方案无法在Facebook应用中打开页面

问题描述 投票:1回答:2

我需要在Facebook应用程序中打开Facebook页面。

这是我的代码

 let url : URL!
 if (UIApplication.shared.canOpenURL(URL(string:"fb://")!)) {
    //FIXME: Url is not working ✋
    let pageName = "google"
      // tried with fb://page?name=%@ not worked
    let urlString =  String.init(format: "fb://page?id=%@",pageName!) 
    url = URL.init(string: urlString)
 } else {
    url = URL.init(string: "https://www.facebook.com/google")
 }

if #available(iOS 10.0, *) {
    UIApplication.shared.open(url!, completionHandler: nil)
} else {
    UIApplication.shared.openURL(url!)
}

它完全适用于safari浏览器,但不适用于Facebook应用程序。

我在qazxsw poi中添加了url方案

inof.plist

任何人都可以帮我解决这个问题吗?

提前致谢!!!!

ios swift facebook fbsdk swift4.1
2个回答
0
投票

试试这段代码,确保使用页面上的facebook id而不是页面名称

检查这个<key>LSApplicationQueriesSchemes</key> <array> <string>fb</string> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array>

How to find page Id

0
投票

当你打电话给 let url : URL! if (UIApplication.shared.canOpenURL(URL(string:"fb://")!)) { //FIXME: Url is not working ✋ let pageName = "104958162837" // tried with fb://page?name=%@ not worked let urlString = String.init(format: "fb://profile/%@",pageName) url = URL.init(string: urlString) } else { url = URL.init(string: "https://www.facebook.com/104958162837") } if #available(iOS 10.0, *) { UIApplication.shared.open(url!, completionHandler: nil) } else { UIApplication.shared.openURL(url!) } 时,它是否在浏览器中打开?

我并不完全理解你的问题,但是如果我没弄错的话,你必须在你的网址类型中添加Facebook应用程序ID(这是UIApplication.shared.openURL(:)中应用程序中出现的第一件事)。

这张图片应该澄清我想说的话:

developers.facebook

在App ID之前不要忘记enter image description here "fb"


编辑:既然我已经理解了你的问题,我不能确定你能解决这个问题 - 因为你可以看到所有的String-,它们显然似乎不再起作用,因为URL方案改变了几次,你正在使用的那个实际上是参考答案的最后一个“回答/使用”。我几乎可以确认,由于this answers,没有任何支持的方式来做你正在尝试的事情。

© www.soinside.com 2019 - 2024. All rights reserved.