Apollo构建Flutter iOS应用发布失败,调整Podfile仍未解决
解决Flutter Apollo构建iOS时的CocoaPods配置、权限及部署目标问题
1. 修复FirebaseFirestore脚本权限拒绝问题
- 进入项目的
ios/Pods/FirebaseFirestore/Frameworks/FirebaseFirestore.framework/Versions/A/Resources/目录 - 给目录下的
install_downloads.sh和firestore_emulator.sh添加可执行权限:chmod +x install_downloads.sh firestore_emulator.sh - 嫌麻烦的话直接在项目根目录执行这条命令,批量给所有Pod脚本加权限:
find ios/Pods -name "*.sh" -exec chmod +x {} \;
2. 强制统一所有Pods的部署目标版本
只改Podfile开头的platform :ios, '14.0'没用,必须加钩子强制所有依赖Pod对齐版本,修改Podfile如下:
platform :ios, '14.0' post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) # 强制所有Pods使用14.0部署目标 target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0' end end end
然后执行以下命令重置Pods:
cd ios pod deintegrate pod install cd ..
3. 修复CocoaPods项目基础配置异常
- 打开
ios/Runner.xcworkspace,检查Runner项目的Build Settings:- 确认
Base SDK选的是最新iOS版本 - 确认
Deployment Target设置为14.0及以上
- 确认
- 彻底清理缓存后重新构建:
flutter clean rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace pod install - 检查Apollo构建的配置参数,看是否构建脚本里覆盖了本地的部署目标或CocoaPods配置,确保构建参数和本地一致
4. 对齐本地与Apollo的构建环境
- 先在本地模拟归档流程,确认本地配置没问题:
如果本地归档也失败,就聚焦本地配置修复;如果本地成功,说明Apollo环境的CocoaPods版本、Xcode版本和本地不一致,需要同步环境版本(比如Apollo用的CocoaPods版本过低会导致配置兼容问题)flutter build ios --release --no-codesign
内容的提问来源于stack exchange,提问作者Kalias Dev
相关产品推荐
相关产品推荐

