如何在Flutter中创建多个iOS目标?

Dan*_*ira 8 ios flutter

如何使Flutter为iOS运行其他目标而不是默认的“ Runner”?

Dav*_*yan 4

这会很棘手。如果您查看flutter run --help命令的输出,您会发现它支持自定义--flavor选项,允许您指定自定义方案。

然而,为了使其发挥作用,需要做几件事:

  1. 在 Xcode 中打开您的工作区 -open ios/Runner.xcworkspace从应用程序的根目录在终端中运行。

  2. 通过展开项目和目标列表、单击 Runner 项目并选择“复制”(更多详细信息请参见此处)来克隆 Runner 目标。

这也应该为您创建一个自定义方案,并带有自己的 Info.plist 文件。默认情况下,该方案将被称为 Runner-copy,将其重命名为您命名的新目标(例如 Staging)。

  1. 复制您的调试和发布构建配置,并按照 Flutter 期望的命名方式命名它们。例如,如果您的新目标称为“Staging”,则需要创建 Debug-Staging 和 Release-Staging 构建配置(有关执行此操作的更多详细信息)。

  2. 编辑 Podfile 并复制整个target 'Runner' do部分,将目标名称替换为您的名称。之后,运行pod install.

现在您有了两个不同的目标,您可以执行诸如设置不同的包 ID 或包含不同的文件之类的操作。

  1. 从命令行运行您的自定义方案。例如:flutter run --flavor Staging

  2. 如果步骤 #5 失败,请手动重新运行pod install,在 Xcode 中打开工作区并从那里运行。

注意:这是非常脆弱的,使用风险自负

注意:我无法让它在发布模式下运行

  • 我已经使用类似的步骤完成了此操作,但得到“无法在 build/ios/iphoneos/Runner.app 找到构建的应用程序包。”。似乎 flutter 正在使用它作为默认二进制文件。 (2认同)