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

Flutter iOS双main文件:如何在Xcode中选归档程序传TestFlight

多入口Flutter应用上传TestFlight解决方案

方案一:用Flutter命令行分别编译归档

  • 编译生产环境版本(对应main_prod.dart):
    flutter build ipa --target=lib/main_prod.dart
    
    编译完成后,终端会提示打开归档目录,直接在Xcode中选中该归档文件,点击「Distribute App」上传至TestFlight。
  • 编译开发环境版本(对应main_dev.dart):
    flutter build ipa --target=lib/main_dev.dart
    
    重复上述上传步骤即可。
    (如果需要区分环境标识,可添加--flavor=prod/--flavor=dev参数,前提是已配置好Flavor相关设置)

方案二:在Xcode中配置多Scheme实现一键归档

  1. 用Xcode打开Flutter项目的ios/Runner.xcworkspace文件
  2. 点击顶部菜单栏 Product > Scheme > Manage Schemes
  3. 选中默认的Runner Scheme,点击左下角「Duplicate」,分别复制出Runner-Prod和Runner-Dev两个Scheme
  4. 编辑每个Scheme的启动参数:
    • 选中Runner-Prod,点击「Edit」
    • 切换到Build标签页,在Arguments Passed On Launch中添加--target=lib/main_prod.dart
    • 对Runner-Dev做同样操作,添加--target=lib/main_dev.dart
  5. 分别归档上传:
    • 顶部Scheme选择器切换到Runner-Prod,点击Product > Archive,完成后上传至TestFlight
    • 再切换到Runner-Dev,重复归档上传流程

关键注意点

  • 两个版本的CFBundleIdentifier必须不同(例如生产版用com.yourapp.prod,开发版用com.yourapp.dev),否则会覆盖TestFlight中已有的版本。可在Xcode对应Scheme的Build Settings里修改,或通过Flutter的--dart-define传递配置。
  • 若使用Flavor,需在iOS项目的Info.plist和Build Settings中配置对应环境的图标、应用名称等,方便在TestFlight中区分版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:12:21