iOS 正式包签名指南

发布于:2025-08-19 ⋅ 阅读:(15) ⋅ 点赞:(0)

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,按照上面的签名流程设置
3. 用 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 签名

网站公告

今日签到

点亮在社区的每一天
去签到