🚀 Flutter iOS App 上架 App Store 全流程(图文详解)

本文将详细讲解如何为 Flutter App 配置 iOS 签名证书与 Provisioning Profile,并顺利上传到 App Store。


📘 一、准备条件

在开始前,请确保你已具备:

  • ✅ 一台 Mac 电脑(安装最新 Xcode)
  • ✅ Flutter 环境配置完成(flutter doctor 通过)
  • ✅ 已注册 Apple Developer 账号($99/年)
  • ✅ 已创建 App ID(如 com.rain.yanhuoshijian

🧭 二、理解签名机制

名称 作用 文件 说明
Certificate 证明 App 是由你签名的 .cer 系统信任的身份凭证
Provisioning Profile 绑定 App ID + 证书 + 设备 .mobileprovision 定义谁可以安装此 App

⚠️ 发布到 App Store 必须使用:

  • iOS Distribution 证书
  • App Store 类型 的描述文件

🛠️ 三、创建 iOS Distribution 证书

1️⃣ 登录 Apple Developer

🔗 developer.apple.com/account/res...

点击右上角的 ➕ 按钮:


2️⃣ 选择证书类型

在证书类型列表中选择:

Production → App Store and Ad Hoc

点击「Continue」。


3️⃣ 生成 CSR 文件(在 Mac 上)

打开 钥匙串访问(Keychain Access)

应用程序 → 实用工具 → 钥匙串访问

点击菜单:

复制代码
钥匙串访问 → 证书助理 → 从证书颁发机构请求证书...

填写信息:

  • 用户邮箱:Apple ID 邮箱
  • 常用名称:name
  • 勾选「存储到磁盘」
  • 点击「继续」保存为:
    CertificateSigningRequest.certSigningRequest

📸 示意图(示例):


4️⃣ 上传 CSR 文件到 Apple Developer

回到 Apple 网站 → 上传上一步的 .certSigningRequest 文件

点击「Continue」

Apple 将生成一个 .cer 文件

下载该文件(例如:ios_distribution.cer


5️⃣ 导入证书到钥匙串

双击 .cer 文件,它会自动导入钥匙串中:

在「钥匙串访问」搜索:

iPhone Distribution

若显示即表示导入成功 ✅


🧩 四、创建 Provisioning Profile(描述文件)

1️⃣ 打开 Profile 页面

🔗 developer.apple.com/account/res...

点击右上角「➕」创建新的 Profile。


2️⃣ 选择 Profile 类型

选择:

App Store → App Store Connect Distribution

点击「Continue」。


3️⃣ 选择 App ID

选择你的应用 ID(例如:com.rain.yanhuoshijian

点击「Continue」。


4️⃣ 选择 Distribution 证书

选择刚刚创建的 iOS Distribution Certificate

点击「Continue」。


5️⃣ 命名与生成

输入名称:

YanhuoShijian_AppStore_Profile

点击「Generate」生成

下载 .mobileprovision 文件。


6️⃣ 导入 Xcode

双击 .mobileprovision 文件,它会自动导入 Xcode。


🧱 五、在 Xcode 中配置签名

打开 Flutter 项目的 iOS 工程:

bash 复制代码
open ios/Runner.xcworkspace

在 Xcode 中:

1️⃣ 选中左侧的 Runner 项目

2️⃣ 切换到「Signing & Capabilities」

3️⃣ 设置:

  • Team:选择你的 Apple Developer 团队
  • Bundle Identifier:与 App ID 保持一致
  • Signing Certificate :选择 Apple Distribution
  • Provisioning Profile:选择刚刚创建的 Profile 名称

📸 示意图:


🧪 六、打包验证

执行命令:

arduino 复制代码
flutter build ipa --release

如果成功,会输出:

bash 复制代码
Built IPA to: build/ios/ipa/Runner.ipa

🩺 七、常见问题排查

问题 原因 解决方式
No signing certificate 证书未导入或过期 重新下载 .cer 文件并导入
⚠️ Provisioning profile not found Bundle ID 不匹配 确认 Profile 与 Xcode 一致
❌ 打包失败 缺少描述文件 手动导入 .mobileprovision
💾 多台 Mac 共用 需导出 .p12 文件 在钥匙串中导出 Distribution 证书

☁️ 八、上传到 App Store Connect

1️⃣ 登录 appstoreconnect.apple.com

2️⃣ 进入「我的 App」

3️⃣ 新建 App

4️⃣ 使用 Xcode 或 Transporter 上传 .ipa 文件

5️⃣ 填写 App 需要审核的信息,截图等资料,提交审核即可 🎉


✅ 九、总结

环节 工具 关键点
证书生成 钥匙串访问 + Developer Portal 生成 .cer
描述文件 Developer Portal 生成 .mobileprovision
签名配置 Xcode 配对证书 + Profile
打包验证 Flutter CLI flutter build ipa
发布上传 App Store Connect 审核上线

💡 小贴士:

建议将 .p12.mobileprovision.cer 备份到安全云端,防止证书丢失。

相关推荐
liulian09168 小时前
Flutter for OpenHarmony 跨平台开发:颜色选择器功能实战指南
flutter
liulian091612 小时前
Flutter for OpenHarmony 跨平台开发:BMI计算器功能实战指南
flutter·华为
xmdy586615 小时前
Flutter+开源鸿蒙实战|智安盾电商溯源平台Day1 项目搭建与整体方案拆解
flutter·开源·harmonyos
懋学的前端攻城狮21 小时前
iOS 列表性能优化实战:从 45fps 到 60fps 的蜕变
ios·性能优化·ui kit
小白640221 小时前
AI辅助设计Flutter蓝牙自动连接系统
人工智能·flutter
xmdy586621 小时前
Flutter+开源鸿蒙实战|智联邻里Day6 引入GetX全局架构+升级版下拉刷新+Toast弹窗+网络状态监听
flutter·开源·harmonyos
斯班奇的好朋友阿法法1 天前
鸿蒙 vs iOS vs 微信小程序:开发平台全面对比
ios·微信小程序·harmonyos
xmdy58661 天前
Flutter+开源鸿蒙实战|智联邻里Day5 闲置详情页+删除功能+下拉刷新+交互优化
flutter·开源·harmonyos
maaath1 天前
【maaath】Flutter for OpenHarmony 媒体工具应用开发实战
flutter·华为·harmonyos
maaath1 天前
【maaath】 Flutter for OpenHarmony 快捷工具箱应用实战开发
flutter·华为·harmonyos