Flutter项目执行pod install遇FBSDKLoginKit版本兼容问题求助
解决方案
方法1:强制统一FBSDKLoginKit版本(最直接)
核心是通过Podfile指定统一的FBSDK版本,覆盖两个Flutter包的依赖要求:
- 打开项目根目录下的
ios/Podfile - 在
target 'Runner' do代码块内,明确指定FBSDK的版本:pod 'FBSDKCoreKit', '~>16.3.1' pod 'FBSDKLoginKit', '~>16.3.1' - 在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 - 执行清理和安装命令:
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
相关产品推荐
相关产品推荐

