本文将详细讲解如何为 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备份到安全云端,防止证书丢失。