我需要在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
任何人都可以帮我解决这个问题吗?
提前致谢!!!!
试试这段代码,确保使用页面上的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
当你打电话给 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(:)
中应用程序中出现的第一件事)。
这张图片应该澄清我想说的话:
编辑:既然我已经理解了你的问题,我不能确定你能解决这个问题 - 因为你可以看到所有的String
-,它们显然似乎不再起作用,因为URL方案改变了几次,你正在使用的那个实际上是参考答案的最后一个“回答/使用”。我几乎可以确认,由于this answers,没有任何支持的方式来做你正在尝试的事情。