Flutter iOS发布版构建报错:cloud_firestore模块未找到(App Store被拒)
iOS Flutter Release构建失败:cloud_firestore模块未找到
Debug模式下应用可在任意模拟器正常运行,但切换至Release模式构建时失败,提示cloud_firestore模块未找到。此前提交App Store时,应用因启动崩溃被立即拒绝,现尝试构建Release版本排查问题。
环境信息
- Mac版本:(附截图)
- Debug模式应用运行正常
- XCode版本:v14.2
- Flutter doctor检测无错误
- Cocoapods版本:1.15.2
- Flutter版本:3.19.5(稳定版)
- Dart版本:3.3.3
Podfile内容
platform :ios, '12.0' ENV['COCOAPODS_DISABLE_STATS'] = 'true' project 'Runner', { 'Debug' => :debug, 'Profile' => :release, 'Release' => :release, } def flutter_root generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) unless File.exist?(generated_xcode_build_settings_path) raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" end File.foreach(generated_xcode_build_settings_path) do |line| matches = line.match(/FLUTTER_ROOT\=(.*)/) return matches[1].strip if matches end raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" end require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) flutter_ios_podfile_setup target 'Runner' do use_frameworks! use_modular_headers! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) target 'RunnerTests' do inherit! :search_paths end end post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) end end
Pubspec.yaml内容
name: lifenavigator version: 1.0.0+1 publish_to: none description: A new Flutter project. environment: sdk: '>=3.2.3 <4.0.0' dependencies: cupertino_icons: ^1.0.2 get: 4.6.6 flutter: sdk: flutter google_fonts: 6.1.0 firebase_core: ^2.27.0 firebase_auth: ^4.17.8 font_awesome_flutter: ^10.7.0 convex_bottom_bar: ^3.2.0 cloud_firestore: ^4.15.8 firebase_messaging: ^14.7.19 google_sign_in: ^6.2.1 flutter_facebook_auth: ^6.1.1 flutter_dotenv: ^5.1.0 dio: ^5.4.1 url_launcher: ^6.2.5 flutter_launcher_icons: ^0.13.1 google_mobile_ads: ^5.0.0 dev_dependencies: flutter_lints: ^3.0.2 flutter_test: sdk: flutter flutter_launcher_icons: "^0.13.1" flutter_launcher_icons: android: "launcher_icon" ios: true image_path: "assets/applogo.png" flutter: uses-material-design: true assets: - assets/ - .env
已尝试的解决方案
- 清理旧构建后重新构建
- 执行
flutter upgrade、pod repo update、flutter pub get和pod install - 在Podfile中添加
pod 'FirebaseCore', :modular_headers => true(触发新错误)
核心问题
构建Release版本时失败,提示cloud_firestore模块未找到。
解决方案
1. 修正Podfile的构建配置映射
当前Podfile将Profile和Release都映射到:release,会导致依赖编译配置冲突,修改为:
project 'Runner', { 'Debug' => :debug, 'Profile' => :profile, 'Release' => :release, }
2. 统一Firebase依赖的模块化头设置
替换单独添加FirebaseCore的方式,在target块中为所有Firebase依赖开启模块化头:
target 'Runner' do use_frameworks! use_modular_headers! # 为Firebase核心依赖开启模块化头 pod 'Firebase', :modular_headers => true pod 'FirebaseCore', :modular_headers => true pod 'FirebaseFirestore', :modular_headers => true pod 'FirebaseAuth', :modular_headers => true pod 'FirebaseMessaging', :modular_headers => true flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) target 'RunnerTests' do inherit! :search_paths end end
3. 彻底清理缓存并重新安装依赖
执行以下命令:
flutter clean cd ios rm -rf Podfile.lock Pods pod repo update flutter pub get pod install --repo-update
4. 检查Xcode Release构建设置
打开Xcode进入Runner项目的Build Settings:
- 将
Build Active Architecture Only在Release模式下设置为No - 确认
Framework Search Paths包含$(inherited) $(PROJECT_DIR)/Pods/Frameworks - 确保
Other Linker Flags包含$(inherited)
5. 验证Firebase配置文件
确认GoogleService-Info.plist已添加到Xcode的Runner目标中,且在Release模式下已勾选“Copy Bundle Resources”。
内容的提问来源于stack exchange,提问作者Slim skhab
相关产品推荐
相关产品推荐

