iOS 正式包签名指南

iOS 正式包签名 (Release 包签名)是 App 能够在 App Store 上架
通过 Ad Hoc/TestFlight 分发

的关键。它和调试签名(Development)有很大区别。

1. iOS 签名的核心概念

在苹果体系里,签名用来保证 App 的合法性和设备的可执行性

主要涉及三样东西:

证书 (Certificate) 用 Apple Developer 标识你是合法开发者

账号申请的数字证书(.cer /
.p12 文件)

App ID 每个 App 的唯一标识(和 匹配应用

Bundle Identifier 对应)

描述文件 将证书 + App ID + 决定 App
(Provisioning 设备信息绑定在一起 能装在哪些设备上,以及能否上架
Profile)

2. 正式包需要的证书类型

Apple Developer Center 里可以申请两类正式签名证书:

  1. App Store / Ad Hoc 证书
    • 用于 发布包(Release)\
    • App Store:只能通过 App Store 安装\
    • Ad Hoc:指定 UDID 的设备能直接安装\
    • 签名文件名一般叫 iOS Distribution
  2. Development 证书
    • 只能用于调试,不能用于正式发布\
    • 签名文件名一般叫 iOS Development

⚠️ 所以上架和正式包,一定要用 Distribution 证书

3. 正式包签名的流程

步骤 1:创建证书

  1. 登录 Apple Developer\
  2. 进入 Certificates, Identifiers & Profiles\
  3. 创建 iOS Distribution 证书\
  4. 下载并安装到 Keychain(钥匙串)

步骤 2:配置 App ID

  1. Identifiers 里创建新的 App ID\
  2. 填写 Bundle ID(要和 Xcode 项目里的完全一致)\
  3. 开启所需的 App Capabilities(推送、iCloud 等)

步骤 3:创建 Provisioning Profile

  1. Profiles 里创建新的配置文件
    • 选择 App Store (上架用)或 Ad Hoc(分发用)\
    • 选择对应的 App ID\
    • 绑定 iOS Distribution 证书\
    • 下载 .mobileprovision 文件\
  2. 双击导入 Xcode

步骤 4:Xcode 配置签名

在项目里:\

  1. 选中 TARGETS → Signing & Capabilities\
  2. Team 选择你的开发者账号\
  3. Build Configuration: Release\
  4. 勾选 Automatically manage signing(推荐)\
  • 如果手动签名:选择对应的 Provisioning Profile + Distribution 证书

4. 打 Release 包(Archive + 签名)

  1. 在 Xcode 顶部选择 Any iOS Device (arm64)\
  2. 菜单:Product → Archive\
  3. 完成后会进入 Organizer
    • Distribute App → App Store Connect → Upload(上架)\
    • Distribute App → Ad Hoc / Enterprise → 导出 .ipa(私发测试)

5. Flutter 项目注意

如果你是 Flutter 项目: 1. 在命令行先构建 Release:
bash flutter build ios --release 2. 打开
ios/Runner.xcworkspace,按照上面的签名流程设置

  1. 用 Xcode Archive 并分发

6. 常见问题

  • 签名失败:Provisioning profile doesn't include signing
    certificate

    → 说明你的 Profile 没有绑定 Distribution 证书,重新生成\
  • App ID 不匹配
    → 确保 Info.plist 的 Bundle ID 和 Developer Center 里一致\
  • 上传 App Store 被拒
    → 检查证书是否是 Development,必须是 Distribution

总结

  • 调试包签名 = Development 证书 + Development Profile\
  • 正式包签名 = Distribution 证书 + App Store / Ad Hoc Profile\
  • 上架必须用 App Store Distribution 签名
相关推荐
kirk_wang3 小时前
Flutter艺术探索-Flutter调试工具:DevTools使用指南
flutter·移动开发·flutter教程·移动开发教程
小雨下雨的雨4 小时前
Flutter 框架跨平台鸿蒙开发 —— SingleChildScrollView 控件之长内容滚动艺术
flutter·ui·华为·harmonyos·鸿蒙
牛马1114 小时前
Flutter 多语言
前端·flutter
getapi5 小时前
在 Google Play 上更新你已上架的 Flutter 应用
flutter·googlecloud·web app
奋斗的小青年!!7 小时前
Flutter跨平台开发适配OpenHarmony:文件系统操作深度实践
flutter·harmonyos·鸿蒙
西西学代码8 小时前
Flutter---路径管理器项目
flutter
奋斗的小青年!!8 小时前
Flutter跨平台开发OpenHarmony应用:个人中心实现
开发语言·前端·flutter·harmonyos·鸿蒙
LawrenceLan8 小时前
Flutter 零基础入门(十五):继承、多态与面向对象三大特性
开发语言·前端·flutter·dart
Swift社区9 小时前
使用 MetricKit 监控应用性能
ios·swiftui·swift