ios - 如何在 Flutter 中制作多个 iOS Target?

标签 ios flutter

如何让 Flutter 为 iOS 运行一个不是默认“Runner”的 Target?

最佳答案

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

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

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

  2. 通过展开项目和目标列表、单击 Runner 项目并选择复制 (more details here) 来克隆 Runner 目标。

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

  1. 复制你的调试和发布构建配置,并按照 Flutter 期望的方式命名它们。例如,如果您的新目标名为“Staging”,则需要创建 Debug-Staging 和 Release-Staging 构建配置 (more details on doing this)。

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

现在您有两个不同的目标,您可以设置不同的包 ID,或包含不同的文件。

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

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

注意:这很脆弱,使用风险自负

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

关于ios - 如何在 Flutter 中制作多个 iOS Target?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52746529/

相关文章:

iphone - 在哪里可以找到 UITableViewCell 图标的模板?

git - flutter 安装期间的libusbmuxd版本错误

flutter - 如何在有条件的情况下调用提供者?

ios - Firebase 身份验证 (Swift 3) 的多个错误

flutter - 如何在 Flutter 中将标签空间禁用到 bottomNavigationBar

firebase - 计算 firestore Flutter 中值匹配的文档数量

Flutter ios 和状态栏文字颜色

ios - 访问另一个类中的 ScrollView 委托(delegate)方法

objective-c - UITableView : popViewController and keep row index into parent controller?

ios - 使用自动布局将 UIView 宽度设置为另一个 View 的两倍