Flutter 如何创建一个企业级项目 - iOS篇 ( 三 )

初始化项目

1, 安装Cocopods依赖

bash 复制代码
cd ios
pod install

2,设置最低支持iOS版本,我这里最低支持的设备是iphone6s,系统是iOS13

Podfile 设置 platform :ios, '13.0'

3, 设置Marketing Version${FLUTTER_BUILD_NAME}

4, 设置Current Project Version${FLUTTER_BUILD_NUMBER}

5, 查看Xcode面板中的Version/Build 已经和FLUTTER_BUILD_NAME/FLUTTER_BUILD_NUMBER 同步

c 复制代码
FLUTTER_BUILD_NAME=1.0.1
FLUTTER_BUILD_NUMBER=3

2, 创建 PROJECT Configurations

依次 Duplicate "Debug/Release/Profile" Configuration, 并在每种编译模式下增加三种不同环境的后缀,例如: Debug-dev/Debug-qa/Debug-product , 注意:不能写错,否则运行会报错

3,创建不同环境 xcconfig

由于 iOS没有 productFlavors,如果我们需要实现不同环境配置不同参数。 这里有两种方式:

1, 直接修改不同Configurations里面的值

但这样不利于统一管理,因此我们使用第二种方式

2,通过 xcconfig 文件管理不同环境的变量配置

c 复制代码
[Debug-dev.xcconfig]
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Flutter/Generated.xcconfig"

/// App name
PRODUCT_NAME=Pollka Snow Dev

/// App identifier
PRODUCT_BUNDLE_IDENTIFIER=com.ski.pollka.snow.dev

/// FLUTTER_TARGET
FLUTTER_TARGET=lib/main_dev.dart

// Custom
ENV=dev

[Debug-qa.xcconfig]
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Flutter/Generated.xcconfig"

/// App name
PRODUCT_NAME=Pollka Snow Test

/// App identifier
PRODUCT_BUNDLE_IDENTIFIER=com.ski.pollka.snow.qa

/// FLUTTER_TARGET
FLUTTER_TARGET=lib/main_qa.dart

// Custom
ENV=qa

[Debug-product.xcconfig]
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Flutter/Generated.xcconfig"

/// App name
PRODUCT_NAME=Pollka Snow

/// App identifier
PRODUCT_BUNDLE_IDENTIFIER=com.ski.pollka.snow

/// FLUTTER_TARGET
FLUTTER_TARGET=lib/main_product.dart

// Custom
ENV=product

Release-dev.xcconfig 只需要导入 Debug-dev.xcconfig

arduino 复制代码
[Release-dev.xcconfig]

#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Flutter/Generated.xcconfig"
#include "Debug-dev.xcconfig"

4,创建不同环境Scheme

1,选中 Runner,依次创建 dev/qa/product Scheme, 创建完成可以删除 Runner Scheme
2,创建完成的效果如下,然后点击 Edit Scheme
3,依次配置 dev/qa/product Scheme 中的各种 Build Configuration

4,设置 Bundle Display Name/Product Name 为 $(PRODUCT_NAME)

App 名字:

IPA文件名字

5,设置Product Bundle Identifier
6,检查FLUTTER_TARGET/ENV

5,Info.Plist设置 Bundle display name / Bundle name

5,VSCode/XCode运行不同环境App

相关推荐
大雷神2 小时前
Flutter鸿蒙开发
flutter·华为·harmonyos
shelutai5 小时前
实现提供了完整的 Flutter Web 文件上传解决方案
前端·flutter
小仙女喂得猪7 小时前
2025 Android原生开发者角度的Flutter 笔记整理(对比ReactNative)
android·flutter·react native
猪哥帅过吴彦祖8 小时前
Flutter 系列教程:列表与网格 - `ListView` 和 `GridView`
前端·flutter·ios
程序员老刘1 天前
为什么我从不推荐GetX?11k星标背后的真相
flutter·客户端
dragon7251 天前
flutter riverpod原理浅析
flutter
恋猫de小郭1 天前
深入理解 Flutter 的 PlatformView 如何在鸿蒙平台实现混合开发
android·前端·flutter
浅蓝色1 天前
flutter平台判断后续
flutter·harmonyos
猪哥帅过吴彦祖1 天前
Flutter 系列教程:常用基础组件 (下) - `TextField` 和 `Form`
前端·flutter·ios
我想吃辣条1 天前
flutter google play 应用不支持 16 KB
android·flutter