Android Studio构建Flutter项目IPA失败,Xcode可成功打包求助
解决Flutter通过Android Studio构建IPA失败的问题
一、修复flutter_config插件的脚本路径错误
错误日志中显示的路径问题是核心诱因:
/var/folders/.../SchemeScriptAction-GQ6JxC.sh: line 3: /.envfile: Read-only file system /var/folders/.../SchemeScriptAction-GQ6JxC.sh: line 4: /.symlinks/plugins/flutter_config/ios/Classes/BuildXCConfig.rb: No such file or directory
- 打开iOS项目的
Runnertarget,进入Build Phases找到对应flutter_config的Run Script阶段 - 修改脚本中的路径为项目根目录相对路径:
- 将
source /.envfile改为source "${PROJECT_DIR}/../.envfile" - 将
ruby /.symlinks/plugins/flutter_config/ios/Classes/BuildXCConfig.rb改为ruby "${PROJECT_DIR}/.symlinks/plugins/flutter_config/ios/Classes/BuildXCConfig.rb"
- 将
- 若修改后仍有问题,可重新安装插件:
flutter pub remove flutter_config flutter pub add flutter_config cd ios && pod install
二、解决Firebase插件版本不兼容问题
日志中的Firebase相关编译错误是版本与Flutter 3.0.0不匹配导致:
../master/flutter3_0_0/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-2.4.0/lib/src/firebase_app.dart:18:25: Error: Member not found: 'FirebaseAppPlatform.verifyExtends'. ../master/flutter3_0_0/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-14.2.0/lib/src/messaging.dart:128:22: Error: A value of type 'Future<bool>' can't be returned from a function with return type 'bool'.
- 打开项目
pubspec.yaml,升级Firebase插件到适配Flutter 3.x的版本,示例配置:firebase_core: ^2.15.0 firebase_messaging: ^14.6.0 - 执行依赖更新:
flutter pub get cd ios && pod update
三、清理缓存后重新构建
完成上述修改后,清理项目缓存避免残留问题:
- 执行命令:
flutter clean rm -rf ios/Pods ios/Podfile.lock cd ios && pod install - 重新尝试构建:
flutter build ipa --flavor dev -t lib/main_dev.dart
内容的提问来源于stack exchange,提问作者Rahmad Bayu Darmawan
相关产品推荐
相关产品推荐

