【发布时间】:2019-03-15 17:41:46
【问题描述】:
如何让 Flutter 为 iOS 运行一个不是默认“Runner”的不同 Target?
【问题讨论】:
如何让 Flutter 为 iOS 运行一个不是默认“Runner”的不同 Target?
【问题讨论】:
这会很棘手。如果您查看flutter run --help 命令的输出,您会发现它支持自定义--flavor 选项,允许您指定自定义方案。
然而,为了让它发挥作用,需要做几件事:
在 Xcode 中打开您的工作区 - 在终端中从您应用的根目录运行 open ios/Runner.xcworkspace。
通过展开项目和目标列表、单击 Runner 项目并选择复制 (more details here) 来克隆 Runner 目标。
这也应该为您创建一个自定义方案,带有自己的 Info.plist 文件。该方案将默认称为 Runner-copy,将其重命名为您命名的新目标(例如 Staging)。
复制您的调试和发布构建配置,并按照 Flutter 期望的方式命名它们。例如,如果您的新目标名为“Staging”,则需要创建 Debug-Staging 和 Release-Staging 构建配置 (more details on doing this)。
编辑 Podfile 并复制整个 target 'Runner' do 部分,将目标名称替换为您的名称。然后,运行pod install。
现在您有两个不同的目标,您可以设置不同的包 ID,或包含不同的文件。
从命令行运行您的自定义方案。例如:flutter run --flavor Staging。
如果第 5 步失败,手动重新运行pod install,在 Xcode 中打开工作区并从那里运行。
注意:这很脆弱,使用风险自负
注意:我无法让它在发布模式下运行
【讨论】: