如何在 Xcode 中设置 --dart-define

Rob*_*erg 5 xcode ios dart flutter

我无法单独从 xcode 构建和启动应用程序。意思是按下“启动活动方案”按钮。

DART_DEFINES我已尝试相应地Build Settings为不同的方案设置用户定义的设置。例如:

DART_DEFINES
  Debug-at     ENV=at
  Debug-dev    ENV=dev
Run Code Online (Sandbox Code Playgroud)

等等。为了清晰起见,图片:

在此输入图像描述

尝试此操作时,构建失败并出现以下错误:

错误构建:命令 PhaseScriptExecution 失败,退出代码非零

我错过了一些明显的东西吗?从 xcode 构建/启动时是否有其他方法传递命令行参数?

VSCode使用以下内容(在 launch.json 中)在 IOS 模拟器上启动应用程序效果很好:

{
    "name": "[dev] myAppName",
    "request": "launch",
    "type": "dart",
    "args": [
        "--dart-define", "ENV=dev",
        "--flavor", "dev"
    ]
}
Run Code Online (Sandbox Code Playgroud)

运行以下命令可以正常工作:

flutter build ipa --flavor dev --dart-define "ENV=dev"
Run Code Online (Sandbox Code Playgroud)

Rob*_*erg 3

好吧,我终于解决了这个问题...要设置与使用 CLI 运算符输入的内容相对应的值,并在--dart-defineXCode运行时使用该值,使用名为 的变量是正确的。不明显的是,应该输入的值是您的值 base64 编码的。因此,就我而言,如果我使用 VSCode 或 CLI 中的以下命令:User-DefinedDART_DEFINES

--dart-define "ENV=at"
Run Code Online (Sandbox Code Playgroud)

那么XCode中的值DART_DEFINES应该是RU5WPWF0

当从 VSCode 运行/构建或使用 CLI 构建/运行时,flutter 工具将对值进行 base64 编码,并在 runners 项目文件(通常是 Runner.xcodeproj 中的 project.pbxproj)以及位于 ios/ 中的生成文件中设置该值。颤振目录。这些文件当前命名为flutter_export_environment.shGenerated.xcconfig。从 XCode 运行/构建时会使用这些文件。

  • 那么,如何在 Xcode 上添加呢?如果有来自 Xcode 的可视化示例就太好了 (2认同)