likes
comments
collection
share

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

作者站长头像
站长
· 阅读数 31

1,初始化项目

1, 安装Cocopods依赖

cd ios
pod install

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

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

Podfile 也设置 platform :ios, '13.0'

3,pubspec.yaml 设置 version

[pubspec.yaml]
version: 1.0.1+220

运行项目,会自动生成Generated.xcconfig, 会在这个类看到这两个参数,对应上面设置的版本号
FLUTTER_BUILD_NAME:1.0.1
FLUTTER_BUILD_NUMBER:220

4,查看Info.Plist 中默认版本

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

Bundle version string (short) / CFBundleShortVersionString: App主要版本号,如1.0.0,只支持数字和小数点,默认为 FLUTTER_BUILD_NAME

Bundle version / CFBundleVersion:App编译版本号,纯数字,如1,2,3,只支持数字和小数点,默认为 FLUTTER_BUILD_NUMBER

这个检查下是否为默认值,不需要修改

5,设置 Xcode General 选项面板版本:

Marketing Version:定义项目的用户可见版本,并在 App Store 页面或应用程序内部向用户展示, 支持字符串,如 Version 1.0.0-dev

Current Project Version: 标识项目的当前版本。该值必须是整数或浮点数,例如123或,1.1.0

这两个参数会在Xcode General 选项面板中显示

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

为了方便管理,我们将 Xcode General 选项面板中的版本 设置为 Info.Plist 版本一样

Version 设置为 $(FLUTTER_BUILD_NAME)
Build 设置为 $(FLUTTER_BUILD_NUMBER)

然后查看,发现VersionBuild版本已设置与Info.Plist一样,也就就是 Generated.xcconfig 配置的 FLUTTER_BUILD_NAME/FLUTTER_BUILD_NUMBER Flutter 如何创建一个企业级项目 - iOS篇 ( 三 )

这样项目的版本全部由下面的参数控制

[Generated.xcconfig]
FLUTTER_BUILD_NAME=1.0.1
FLUTTER_BUILD_NUMBER=220

2, 创建 PROJECT Configurations

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

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

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

3,创建不同环境 xcconfig

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

1, 直接修改不同Configurations里面的值 Flutter 如何创建一个企业级项目 - iOS篇 ( 三 )

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

2,通过 xcconfig 文件管理不同环境的变量配置 Flutter 如何创建一个企业级项目 - iOS篇 ( 三 )

[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

[Release-dev.xcconfig]

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

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

4,创建不同环境Scheme

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

1,选中 Runner,依次创建 dev/qa/product Scheme, 创建完成可以删除 Runner Scheme

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

2,创建完成的效果如下,然后点击 Edit Scheme

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

3,依次配置 dev/qa/product Scheme 中的各种 Build Configuration

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

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

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

IPA文件名字 Flutter 如何创建一个企业级项目 - iOS篇 ( 三 )

5,设置Product Bundle Identifier

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

6,检查FLUTTER_TARGET/ENV

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

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

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

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

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

转载自:https://juejin.cn/post/7275943600780591145
评论
请登录