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

Flutter项目执行pod install遇FBSDKLoginKit版本兼容问题求助

解决方案

方法1:强制统一FBSDKLoginKit版本(最直接)

核心是通过Podfile指定统一的FBSDK版本,覆盖两个Flutter包的依赖要求:

  1. 打开项目根目录下的ios/Podfile
  2. 在target 'Runner' do代码块内,明确指定FBSDK的版本:
    pod 'FBSDKCoreKit', '~>16.3.1'
    pod 'FBSDKLoginKit', '~>16.3.1'
    
  3. 在Podfile末尾添加post_install脚本,处理兼容问题:
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
        # 确保flutter_login_facebook适配指定的FBSDK版本
        target.build_configurations.each do |config|
          if target.name == 'flutter_login_facebook'
            config.build_settings['FRAMEWORK_SEARCH_PATHS'] ||= []
            config.build_settings['FRAMEWORK_SEARCH_PATHS'] << '$(inherited)'
          end
        end
      end
    end
    
  4. 执行清理和安装命令:
    cd ios
    rm Podfile.lock
    pod deintegrate
    pod install
    

方法2:升级/替换冲突的Flutter包

  • 检查flutter_login_facebook的最新版本:若pub.dev上有更新版本(如≥1.9.1),大概率已兼容FBSDKLoginKit 16.3.1,直接在pubspec.yaml中升级该包版本,再执行flutter pub get和pod install。
  • 若没有适配版本,直接移除flutter_login_facebook:flutter_facebook_auth本身已提供完整的Facebook登录功能,无需重复引入。删除pubspec.yaml中flutter_login_facebook: ^1.9.0的依赖,执行flutter pub get后重新安装pod即可。

方法3:使用CocoaPods依赖覆盖规则

在Podfile顶部添加强制覆盖规则,直接统一所有依赖的FBSDK版本:

pod 'FBSDKLoginKit', '~>16.3.1', :modular_headers => true
pod 'FBSDKCoreKit', '~>16.3.1', :modular_headers => true

执行pod install即可完成版本统一。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 18:35:10