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

Flutter应用从TestFlight转App Store:如何切换环境变量

切换Flutter应用API环境(TestFlight转生产)

下面是几种常用的切换API环境变量的方案,按需选择:

1. 用dart-define编译参数(快速直接)

这是最简单的临时切换方式,不需要修改项目配置文件,编译时通过命令行传递参数。

  • 在Dart代码中获取环境变量:
// 定义API地址,默认用测试环境
final String apiBaseUrl = const String.fromEnvironment(
  'API_BASE_URL',
  defaultValue: 'https://test-api.example.com',
);
  • 打包生产版本时,添加编译参数指定生产API:
# 打包iOS生产IPA(用于App Store提交)
flutter build ipa --dart-define=API_BASE_URL=https://prod-api.example.com

# 本地运行验证生产环境
flutter run --dart-define=API_BASE_URL=https://prod-api.example.com

2. 配置Flutter Flavors(长期多环境维护)

适合需要长期维护测试、生产等多环境的项目,通过Xcode配置区分环境。

  • 编辑iOS项目的配置文件:
    在ios/Runner/下的Debug.xcconfig和Release.xcconfig中分别添加:

    // Debug.xcconfig(对应TestFlight测试版本)
    API_BASE_URL=https://test-api.example.com
    
    // Release.xcconfig(对应App Store生产版本)
    API_BASE_URL=https://prod-api.example.com
    
  • 在ios/Runner/Info.plist中引用配置:

<key>API_BASE_URL</key>
<string>$(API_BASE_URL)</string>
  • Dart代码中读取配置(可配合package_info_plus插件更灵活判断):
import 'package:flutter/foundation.dart';

final String apiBaseUrl = kReleaseMode 
    ? 'https://prod-api.example.com' 
    : 'https://test-api.example.com';
  • 打包生产版本直接打Release包即可:
flutter build ipa --release

3. 使用.env配置文件(依赖第三方包)

通过加载不同的.env文件来切换环境,需要依赖flutter_dotenv包。

  • 根目录创建.env.test和.env.prod文件:
# .env.test
API_BASE_URL=https://test-api.example.com

# .env.prod
API_BASE_URL=https://prod-api.example.com
  • 在pubspec.yaml中添加依赖:
dependencies:
  flutter_dotenv: ^5.1.0
  • 代码中根据运行模式加载对应配置:
import 'package:flutter/foundation.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';

Future<void> main() async {
  await dotenv.load(
    fileName: kReleaseMode ? '.env.prod' : '.env.test',
  );
  runApp(MyApp());
}

// 使用时获取API地址
final String apiBaseUrl = dotenv.env['API_BASE_URL']!;
  • 打包生产版本:
flutter build ipa --release

内容的提问来源于stack exchange,提问作者Juan Andres solanas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:01:12