1 在 macOS 电脑上更新 Flutter iOS 应用到 App Store

你在 macOS 电脑上,有一个已经上架过的 Flutter iOS 应用,现在要发布新版本。


一、先记住最核心流程

如果你只想最快完成更新,核心流程是:

flutter clean
flutter pub get
flutter build ios --release
open ios/Runner.xcworkspace

然后在 Xcode 里:

1. 修改 Version 和 Build
2. 配置 Signing & Capabilities
3. Product -> Archive
4. Organizer -> Distribute App -> App Store Connect -> Upload

最后到 App Store Connect:

创建新版本
选择刚上传的 Build
填写更新说明
提交审核

二、更新前你需要确认的信息

因为你以前上架过,但没记笔记,所以先找回这些信息。

1. 找到你的 App

打开:

https://appstoreconnect.apple.com/

登录后进入:

我的 App / My Apps

找到你之前上架过的 iOS 应用。

进去后你要重点看:

Bundle ID
当前版本号
当前 Build 号
App Store Connect 所属团队

2. 找到 Bundle ID

在 App Store Connect 中:

你的 App -> App 信息 / App Information

里面有:

Bundle ID

例如:

com.example.myapp

这个非常重要,后面 Xcode 里必须一致。


3. 查看当前线上版本号

在 App Store Connect 的 App 页面,找到当前版本,例如:

1.3.0

你要发布的新版本可以是:

1.3.1

或者:

1.4.0

4. 查看上一次构建号

在 App Store Connect 的当前版本页面里,会有一个构建版本,例如:

1.3.0 (25)

这里的:

25

就是 Build 号。

你这次上传的新构建必须比它大,例如:

26

或者:

27

三、版本号规则

iOS 更新有两个号:

名称字段示例是否必须增加
VersionCFBundleShortVersionString1.3.1建议增加
BuildCFBundleVersion26必须增加

举例:

上一次是:

1.3.0 (25)

这次可以是:

1.3.1 (26)

也可以是:

1.4.0 (26)

但 Build 号不能小于或等于之前的。


四、修改 Flutter 项目版本号

方法一:修改 pubspec.yaml

打开项目根目录的:

pubspec.yaml

找到:

version: 1.3.0+25

改成:

version: 1.3.1+26

解释:

version: 版本号+构建号

例如:

version: 1.3.1+26

表示:

Version = 1.3.1
Build = 26

方法二:在 Xcode 里修改

打开 iOS 工程:

open ios/Runner.xcworkspace

注意:一定要打开 .xcworkspace,不要打开 .xcodeproj

在 Xcode 中:

左侧 Runner -> Runner target -> General

找到:

Identity

修改:

Version: 1.3.1
Build: 26

五、清理并更新 Flutter 项目

在项目根目录执行:

flutter clean
flutter pub get

如果你使用了 CocoaPods,也可以顺便执行:

cd ios
pod install --repo-update
cd ..

六、本地检查项目能否构建

执行:

flutter build ios --release

如果成功,会看到类似:

Building com.example.myapp...
Built build/ios/iphoneos/Runner.app

如果失败,先解决报错,再继续。


七、打开 Xcode 配置签名

执行:

open ios/Runner.xcworkspace

在 Xcode 中:

Runner -> Runner target -> Signing & Capabilities

1. 选择 Team

找到:

Team

选择你的 Apple Developer 账号或公司团队。

例如:

Your Name (Personal Team)

或者:

Your Company LLC

如果没有,点击:

Add an Account...

登录你的 Apple ID。


2. 勾选自动签名

建议勾选:

Automatically manage signing

这样 Xcode 会自动处理证书和描述文件。

如果你是第一次在这台电脑上更新,推荐先用自动签名。


3. 确认 Bundle ID

General 页面找到:

Bundle Identifier

确保它和 App Store Connect 里的应用一致。

例如:

com.example.myapp

如果不一致,上传后可能找不到构建,或者无法提交审核。


4. 选择发布签名证书

Signing & Capabilities 里,通常会有两块:

Debug
Release

重点检查:

Release

如果使用自动签名,一般会自动选择:

Apple Distribution

或者:

iPhone Distribution

如果提示没有证书,可以点击:

Try Again

或者去:

Xcode -> Settings -> Accounts -> Manage Certificates

添加:

Apple Distribution

八、如果你换了电脑,或者证书丢了

这是很多人忘记流程时最容易卡住的地方。

情况一:你还记得开发者账号,并且有管理员权限

最简单:

使用 Xcode Automatically manage signing

Xcode 通常可以自动创建或选择发布证书。


情况二:旧电脑上的证书私钥找不到了

可以重新创建发布证书。

在 Xcode 中:

Xcode -> Settings -> Accounts

选择你的 Apple ID:

Manage Certificates

点击左下角 +

Apple Distribution

然后重新配置签名。

注意:
如果你之前手动管理签名,可能需要重新生成 Provisioning Profile。


情况三:你只有 App Store Connect 权限,没有开发证书权限

你需要找到有团队管理员权限的人,让他给你权限,或者帮你生成证书。

至少需要能访问:

Apple Developer -> Certificates, IDs & Profiles

以及:

App Store Connect

九、检查 iOS 权限和隐私说明

如果你的应用用了相机、相册、定位、麦克风等,需要在:

ios/Runner/Info.plist

里有对应的说明。

例如:

<key>NSCameraUsageDescription</key>
<string>需要使用相机拍摄照片</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>需要访问相册选择照片</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>需要获取位置信息</string>
<key>NSMicrophoneUsageDescription</key>
<string>需要使用麦克风录制语音</string>

如果以前能上架,通常这些已经配置过了。
但如果你升级了某些插件,可能需要补充。


十、检查第三方库和隐私清单

现在 iOS 审核对隐私要求比较严格。

如果你用了这些类型的 SDK,要特别注意:

  • 广告 SDK
  • 统计 SDK
  • 崩溃收集
  • 推送
  • 登录
  • 分享
  • 支付
  • 地图
  • 网络库
  • WebView 相关库

建议更新前执行:

flutter pub upgrade
cd ios
pod update
cd ..

如果你用了需要隐私清单的 SDK,确保它们已经更新到支持隐私清单的版本。

否则审核可能会提示类似:

Privacy manifest
NSPrivacyAccessedAPITypes
Required reason API

十一、Archive 打包

在 Xcode 顶部选择设备:

Any iOS Device (arm64)

或者:

Any iOS Device

不要选择模拟器。

然后执行:

Product -> Archive

等待打包完成。

成功后会打开:

Organizer

如果没有打开,可以手动打开:

Window -> Organizer

十二、上传到 App Store Connect

在 Organizer 中:

选择刚刚生成的 Archive

然后点击:

Distribute App

选择:

App Store Connect

然后选择:

Upload

一路继续。

一般选择:

Automatically manage signing

最后点击:

Upload

上传成功后会看到:

App Uploaded

或者:

Upload Successful

十三、如果 Xcode 上传失败,可以用 Transporter

如果 Xcode Organizer 上传一直失败,可以用 Transporter。

Transporter 下载地址:

https://apps.apple.com/cn/app/transporter/id1450874784

用法:

  1. 打开 Transporter
  2. 登录你的 Apple ID
  3. 选择你的应用
  4. 选择 .ipa 文件
  5. 上传

但是 Flutter iOS 项目一般直接用 Xcode Organizer 更方便。


十四、等待 App Store Connect 处理构建

上传完成后,不会立刻可选。

App Store Connect 会显示:

Processing

通常需要等待:

5 分钟到 30 分钟

有时会更久。

如果处理失败,Apple 一般会发邮件到你的开发者账号邮箱。


十五、在 App Store Connect 创建新版本

打开:

https://appstoreconnect.apple.com/

进入:

我的 App -> 你的 App

左侧找到:

App Store

然后选择:

iOS App

如果当前版本是 1.3.0,你要发 1.3.1,可以:

点击版本号旁边 +

或者:

创建新版本

填写新版本号:

1.3.1

十六、选择新上传的 Build

在版本页面找到:

构建版本 / Build

点击:

+ 选择构建版本

选择你刚上传的构建,例如:

1.3.1 (26)

如果还没出现,等它处理完成。


十七、填写更新说明

找到:

版本说明 / What's New in This Version

例如:

1. 修复部分页面偶发闪退问题
2. 优化启动速度
3. 更新隐私说明
4. 修复已知问题

这个内容会展示给用户。


十八、检查应用截图和元数据

通常更新小版本时,以下内容可以沿用旧的:

应用截图
应用描述
关键词
技术支持网址
隐私政策网址
年龄分级

但如果有以下变化,需要更新:

  • 界面大改
  • 应用名称变化
  • 功能变化
  • 隐私政策变化
  • 截图过期
  • 支持设备变化

十九、填写出口合规信息

上传时或提交审核时,可能会问加密问题。

如果你的应用只使用标准 HTTPS,没有特殊自研加密,一般可以选择符合豁免。

也可以在:

ios/Runner/Info.plist

里加:

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

这样每次上传通常不会再问。

如果你不确定,就要根据实际加密用途回答。


二十、提交审核

所有必填项完成后,点击右上角:

提交至 App Review / Submit for Review

然后选择发布方式:

审核通过后自动发布

或者:

审核通过后手动发布

建议如果你不确定,选:

手动发布

这样审核通过后,你可以自己决定什么时候上线。


二十一、审核状态说明

提交后常见状态:

状态含义
Waiting for Review等待审核
In Review审核中
Pending Developer Release审核通过,等你发布
Ready for Sale已上架
Metadata Rejected元数据有问题
Binary Rejected安装包有问题
Rejected被拒

如果是 Metadata Rejected,通常改文案、截图、隐私信息即可。
如果是 Binary Rejected,需要修代码或配置后重新上传 Build。


二十二、以后每次更新的标准流程

你可以把下面这段保存成笔记。

更新 iOS 应用标准流程

flutter clean
flutter pub get
flutter build ios --release
open ios/Runner.xcworkspace

在 Xcode 中:

1. 修改 Version
2. 修改 Build,必须递增
3. 检查 Team
4. 检查 Bundle ID
5. Product -> Archive
6. Organizer -> Distribute App -> App Store Connect -> Upload

在 App Store Connect 中:

1. 创建新版本
2. 选择新上传的 Build
3. 填写更新说明
4. 提交审核

二十三、最小记忆版

以后你只需要记住这几句话:

版本号加 1
Build 号加 1
flutter build ios --release
Xcode Archive
上传 App Store Connect
App Store Connect 提交审核

二十四、常见问题排查


1. 上传后 App Store Connect 看不到 Build

常见原因:

  • 还在处理中
  • Build 号重复
  • Bundle ID 不一致
  • 签名错误
  • 权限说明缺失
  • 第三方库隐私清单问题

解决方法:

  1. 等 10-30 分钟
  2. 检查邮箱,Apple 通常会发错误邮件
  3. 确认 Build 号比旧版本大
  4. 确认 Bundle ID 一致
  5. 重新 Archive 上传

2. 提示 Build 号已经存在

比如旧版本是:

1.3.0 (25)

你这次不能再用:

1.3.1 (25)

必须改成:

1.3.1 (26)

或者:

1.3.1 (27)

3. Xcode 提示 No Account for Team

去:

Xcode -> Settings -> Accounts

登录你的 Apple ID。

然后回到:

Signing & Capabilities

重新选择 Team。


4. Xcode 提示 No profiles for bundle id

原因通常是:

  • Bundle ID 没注册
  • 描述文件不存在
  • 签名配置错误

建议先勾选:

Automatically manage signing

然后选择正确 Team。

如果还不行,去:

https://developer.apple.com/account/resources/identifiers/list

检查 Bundle ID 是否存在。


5. 提示证书过期

去:

Xcode -> Settings -> Accounts -> Manage Certificates

添加:

Apple Distribution

如果不行,去:

https://developer.apple.com/account/resources/certificates/list

检查证书状态。

如果旧证书过期或丢失,可以重新创建。


6. 提示缺少权限说明

例如:

NSCameraUsageDescription
NSPhotoLibraryUsageDescription
NSLocationWhenInUseUsageDescription

需要在:

ios/Runner/Info.plist

中补充。


7. 提示隐私清单或 Required Reason API

需要检查第三方库和系统 API 使用。

常见涉及:

UserDefaults
FileManager
磁盘空间
系统启动时间
设备标识

需要按照 Apple 要求填写隐私清单,或者更新第三方库。


8. 打包时 CocoaPods 报错

可以尝试:

cd ios
rm -rf Pods
rm -rf Podfile.lock
pod install --repo-update
cd ..

然后:

flutter clean
flutter pub get
flutter build ios --release

9. Flutter 版本太旧导致无法上传

如果 Xcode 版本比较新,而 Flutter 太旧,可能会有兼容问题。

可以先升级 Flutter:

flutter upgrade
flutter clean
flutter pub get

然后重新构建。

但如果你现在只想紧急上架,不建议大改依赖。先保持能打包为主。


二十五、如果你完全不知道之前是怎么签名的

可以用这个策略:

优先使用自动签名

在 Xcode 中:

Runner -> Runner target -> Signing & Capabilities

勾选:

Automatically manage signing

选择:

Team

确保:

Bundle Identifier

和 App Store Connect 一致。

然后:

Product -> Clean Build Folder
Product -> Archive

上传时 Organizer 里也选择:

Automatically manage signing

这是最适合“忘了之前怎么配置”的方式。


二十六、如果你换了电脑,如何恢复?

你需要准备:

1. Apple Developer 账号
2. App Store Connect 权限
3. Bundle ID
4. Flutter 项目代码
5. 新版本号和新 Build 号

如果旧电脑证书私钥丢失,不一定必须找回旧证书。
只要你有开发者账号权限,可以重新创建发布证书和描述文件。

步骤:

1. Xcode 登录 Apple ID
2. 添加 Apple Distribution 证书
3. 勾选 Automatically manage signing
4. 选择正确 Team 和 Bundle ID
5. Archive 上传

二十七、建议你现在按这个顺序操作

你可以直接照下面做:

flutter clean
flutter pub get
flutter build ios --release
open ios/Runner.xcworkspace

然后在 Xcode 里:

1. Runner -> Runner target -> General
2. Version 改成新版本,例如 1.3.1
3. Build 改成新的,例如 26
4. Signing & Capabilities 选择你的 Team
5. 勾选 Automatically manage signing
6. Bundle ID 保持和线上一致
7. Product -> Archive

Archive 完成后:

Organizer -> Distribute App -> App Store Connect -> Upload

最后到 App Store Connect:

创建新版本 -> 选择新 Build -> 填写更新说明 -> 提交审核

二十八、给你一个可以保存的笔记模板

你可以复制保存:

Flutter iOS App Store 更新流程

1. 修改版本号
   pubspec.yaml:
   version: 1.3.1+26

2. 清理项目
   flutter clean
   flutter pub get

3. 构建 iOS
   flutter build ios --release

4. 打开 Xcode
   open ios/Runner.xcworkspace

5. Xcode 配置
   Runner -> Runner target -> General
   Version: 1.3.1
   Build: 26

   Runner -> Runner target -> Signing & Capabilities
   Team: 你的开发者账号
   Automatically manage signing: 勾选
   Bundle Identifier: 和 App Store Connect 一致

6. 打包
   Product -> Archive

7. 上传
   Organizer -> Distribute App -> App Store Connect -> Upload

8. App Store Connect
   创建新版本
   选择新 Build
   填写版本说明
   提交审核

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值