归档上传App Store Connect后Flutter项目Xcode编译报错求助
Flutter iOS编译报错解决方案
问题背景
将Flutter应用归档上传至App Store Connect后,重新编译项目获取应用截图时出现Xcode报错,此前验证、分发应用均正常。已尝试flutter clean、pod install、删除Podfile及Podfile.lock、pod update、flutter run等操作,问题未解决。
报错详情
头文件未找到错误
Error (Xcode): 'Flutter/Flutter.h' file not found /Users/macbook/Developer/RobyHub/mobile/admin-app/ios/Runner/GeneratedPluginRegistrant.h:9:8
预编译头生成失败错误
Error (Xcode): failed to emit precompiled header '/Users/macbook/Library/Developer/Xcode/DerivedData/Runner-cnmmmgwjwyedhrfbmwidyiqajgcy/Build/Intermediates.noindex/PrecompiledHeaders/Runner-Bridging-Header-swift_21KKX35XMXJF3-clang_2DSDA8C9CPQUA.pch' for bridging header '/Users/macbook/Developer/RobyHub/mobile/admin-app/ios/Runner/Runner-Bridging-Header.h'
Flutter环境检测结果
Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.3.8, on macOS 13.0 22A380 darwin-x64, locale en-US) [✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0) [✓] Xcode - develop for iOS and macOS (Xcode 14.1) [✓] Chrome - develop for the web [✓] Android Studio (version 2021.3) [✓] VS Code (version 1.73.1) [✓] Connected device (3 available) [✓] HTTP Host Availability Could not build the application for the simulator. Error launching application on iPhone 14 Pro.
可行解决步骤
- 彻底清理Xcode缓存:执行命令
rm -rf ~/Library/Developer/Xcode/DerivedData,或者通过Xcode设置路径手动删除Derived Data文件夹内容 - 修复Flutter头文件搜索路径:打开Xcode的Runner项目,进入
Build Settings,搜索Header Search Paths,确保添加$(inherited)和${FLUTTER_ROOT}/bin/cache/artifacts/engine/ios,并设置为recursive - 重新生成依赖文件:在项目根目录依次执行:
flutter pub get cd ios pod deintegrate pod install - 验证桥接文件配置:在Xcode的
Build Settings中找到Swift Compiler - General下的Objective-C Bridging Header,确认路径正确(如Runner/Runner-Bridging-Header.h),路径需相对于项目根目录 - 修复Flutter框架完整性:执行以下命令切换通道并更新框架:
flutter channel master flutter upgrade flutter channel stable flutter upgrade - 调整Xcode架构设置:在
Build Settings的Architectures中,设置Architectures为Standard Architectures (arm64, x86_64),Valid Architectures包含arm64和x86_64,Debug模式下可开启Build Active Architecture Only,Release模式建议关闭
内容的提问来源于stack exchange,提问作者Paul Sola-Eniolawun
相关产品推荐
相关产品推荐

