You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Xcode中配置--dart-define?构建启动报错求助

解决Xcode设置DART_DEFINES构建失败的问题

问题根源

直接在Xcode Build Settings的User-Defined里设置DART_DEFINES=ENV=at这类键值对会失败,因为Flutter要求DART_DEFINES的值必须是base64编码后的字符串,Xcode不会自动处理编码,导致后续Flutter执行脚本解析参数出错,触发PhaseScriptExecution错误。而VSCode的launch.json和flutter命令行工具会自动完成编码步骤,所以能正常工作。

解决方法

方法1:手动编码DART_DEFINES的值

  1. 对需要传递的键值对进行base64编码,比如处理ENV=at:
    echo -n "ENV=at" | base64
    
    得到编码结果RU5WPWF0
  2. 在Xcode的Build Settings -> User-Defined中,设置DART_DEFINES为上述编码后的字符串
  3. 清理并重新构建:执行flutter clean,然后在Xcode中按Cmd+Shift+K清理Build Folder后重新构建

方法2:通过Scheme传递启动参数(更便捷)

不需要修改Build Settings,直接给Scheme配置启动参数:

  • 打开Xcode,点击顶部的Scheme选择框,选择Edit Scheme...
  • 在左侧选择Run,切换到Arguments标签页
  • 在Arguments Passed On Launch列表中添加:
    --dart-define=ENV=at
    
  • 保存Scheme后,直接点击启动按钮即可正常构建并启动应用

方法3:修复Flutter脚本执行问题

如果上述方法无效,可能是Flutter生成的iOS脚本存在异常:

  1. 执行flutter clean清空构建缓存
  2. 执行flutter pub get重新获取依赖
  3. 执行flutter build ios --config-only重新生成iOS项目配置文件
  4. 回到Xcode重新构建

内容的提问来源于stack exchange,提问作者Robert Sandberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 13:05:25