webview在swift 3中打开本机fb应用程序?

Posted

技术标签:

【中文标题】webview在swift 3中打开本机fb应用程序?【英文标题】:webview open native fb app in swift 3? 【发布时间】:2017-10-12 20:01:40 【问题描述】:

在具有此自定义方案类型的 webview 上:

case "whatsapp":
     #if DEBUG
      print("this is whatsapp")
     #endif
     openCustomApp(urlScheme: "whatsapp://", additional_info: url_elements[1])
            decisionHandler(.cancel)

我怎样才能使它适应 facebook?

我尝试将 whatsapp:// 替换为 fb:// 并在 LSApplicationQueriesSchemes 的 plist 中将字符串设置为 fb

它仍然在 safari 中打开一个 url。

【问题讨论】:

您可以尝试使用完整的 URI 方案,例如 fb://MODULE_NAME,您可以在此答案 ***.com/a/30231726/1244597 中找到所有支持的模块,例如 fb://recent_feed 打开“最新" 我更喜欢主页而不是主页 )) 你能发布你是如何添加LSApplicationQueriesSchemes的吗? 【参考方案1】:

我相信你不能只打开 facebook 应用程序,你需要为个人资料或页面 ID 传递一个参数,例如:

fb://profile/<id>

对于页面来说是:

fb://page/<id>

您可以使用以下方法测试设备是否能够打开特定的 url:

UIApplication.shared.canOpenURL(URL(string: "fb://"))

【讨论】:

确实,我在 webview 正在加载的页面上有 url,它是 fb://profile/ 和 fb://profile/5550296508 (CNN) 一样,但它没有不行。

以上是关于webview在swift 3中打开本机fb应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如果它进入webview(swift),如何在webview中打开链接

在 Swift 中从 WebView 打开条码扫描器

如何在移动 android/iOs(本机应用程序)中关闭 webview

FBSessionLoginBehaviorWithFallbackToWebView 在 safari 中打开,但不在 webview 中

在将应用程序从 swift 迁移到本机反应后,是不是可以在应用程序中检索用户令牌?

如何使用swift为IOS推送通知打开新的WebView