Flutter执行build ios忽略--target参数找不到main.dart报错如何解决?
Flutter iOS 自定义入口文件配置方案
问题根因
你遇到的报错是因为iOS侧Xcode的默认构建配置固定读取lib/main.dart作为Dart入口文件,即使命令行指定了--target参数,部分多flavor场景下配置没有同步生效导致的。
配置修改方法
方法1:Xcode可视化配置(推荐适配多flavor场景)
- 打开iOS项目下的
Runner.xcworkspace文件 - 左侧导航选中Runner根目录,依次进入 Runner > TARGETS > Runner > Build Settings 页
- 在搜索框输入
FLUTTER_TARGET检索对应配置项 - 针对你使用的development flavor对应的Debug模式,把配置值修改为
lib/main_development.dart即可,其他环境的flavor可以对应设置不同的入口路径
方法2:修改xcconfig配置文件
- 进入项目
ios/Flutter/目录,找到对应flavor的xcconfig配置文件(比如Debug.xcconfig、Development.xcconfig) - 在文件中新增一行配置:
FLUTTER_TARGET = lib/main_development.dart
- 多环境场景下可以给每个环境的xcconfig分别设置不同的入口路径
配置完成后重新执行你的构建命令即可正常编译,你现有的main_development.dart中的异步main函数不需要做额外修改。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

