You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

2月5日后如何在Swift原生应用中实现Facebook点赞按钮?

2月5日后Swift原生应用实现Facebook点赞按钮的解决方案

各位好,针对你问的2月5日后如何在Swift原生应用里实现Facebook点赞按钮的问题,首先得明确一个关键信息:Facebook已经彻底弃用了原生点赞按钮(Native Like Button),从2月6日开始它完全失效了。官方的说明如下:

Native Like Button:专为移动应用设计的Native Like Button从Facebook SDK 4.28及以上版本开始将不再受支持。旧版本SDK仍可使用Native Like Button,但自2月6日起,Native Like Button将不再受支持。2月6日后,原生点赞的对话框将不再显示,点击任何Native Like Button都不会产生任何操作。

也就是说,之前依赖Facebook SDK原生组件实现的点赞按钮,现在点击不会有任何反应,也不会弹出点赞对话框,没法再用了。

可行替代方案:用WKWebView嵌入网页版点赞按钮

目前官方推荐的替代方式是在应用内嵌入WKWebView,加载Facebook提供的网页版点赞组件,具体实现步骤如下:

1. 在视图控制器中集成WKWebView

下面是一个完整的示例代码,展示如何在Swift视图控制器中添加网页版点赞按钮:

import UIKit
import WebKit

class LikeButtonViewController: UIViewController, WKUIDelegate {
    private var webView: WKWebView!

    override func loadView() {
        let webConfig = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfig)
        webView.uiDelegate = self
        view = webView
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 替换成你需要用户点赞的Facebook页面/帖子的URL
        let targetFacebookUrl = "https://www.facebook.com/你的目标页面名称"
        
        // 包含Facebook网页点赞按钮的HTML内容
        let likeButtonHtml = """
        <!DOCTYPE html>
        <html>
        <body style="margin:0; padding:0;">
        <div id="fb-root"></div>
        <script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v18.0"></script>
        <div class="fb-like" 
             data-href="\(targetFacebookUrl)" 
             data-layout="standard" 
             data-action="like" 
             data-size="large" 
             data-share="true">
        </div>
        </body>
        </html>
        """
        
        // 将HTML加载到WebView中
        webView.loadHTMLString(likeButtonHtml, baseURL: nil)
    }
}

2. 自定义与注意事项

  • 把代码中的你的目标页面名称替换为实际的Facebook页面或帖子的完整URL;
  • 可以通过修改HTML里的data-layout(布局样式)、data-size(按钮大小)、data-share(是否显示分享按钮)等参数,调整点赞按钮的外观;
  • 确保你的应用开启了网络访问权限,iOS 9及以上默认支持HTTPS请求,无需额外配置App Transport Security例外(如果加载的是HTTPS地址的话)。

其他选项:用Facebook Share SDK实现互动

如果不一定需要严格的“点赞”按钮,也可以考虑使用Facebook的Share SDK,让用户将内容分享到自己的Facebook动态,同样能达到用户互动的效果,但这和直接点赞的体验不同,可以根据你的应用需求来选择。


内容的提问来源于stack exchange,提问作者Carlo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:42:51