证书与签名

签名是 iOS 开发者最容易困惑、也最容易踩坑的环节。本章把 证书(Certificate)→ App ID(Identifier)→ 设备(Device)→ 描述文件(Provisioning Profile) 四者的关系彻底讲透。理解了这层关系,绝大多数签名报错你都能自己定位。

本章要解决的问题

  • 开发证书和发布证书有什么区别,分别什么时候用?
  • App ID / Bundle ID 是什么关系,为什么创建后不能改?
  • 描述文件到底是什么?它和证书、App ID、设备有什么关系?
  • 测试真机一定要注册 UDID 吗?TestFlight 也要吗?

学习目标

完成本章学习后,你应该能够:

  • 画出「证书 + App ID + 设备 → 描述文件」的关系图,并解释为什么变更任一要素都要重新生成描述文件。
  • 独立创建开发/发布证书,并安全备份 .p12
  • 正确创建显式 App ID 并开启所需 Capabilities。
  • 区分开发、Ad Hoc、App Store 三种描述文件的用途。
  • 遇到「No valid signing certificate」「Profile doesn’t include the device」等常见报错时知道从何排查。

章节内容

子章节内容建议用时
Certificates(证书)证书类型、生成步骤、备份与吊销30 分钟
Identifiers(标识符)App ID / Bundle ID、通配与显式、Capabilities25 分钟
Provisioning Profiles(描述文件)类型、创建步骤、维护更新25 分钟
Devices(设备管理)UDID 添加、设备上限、Ad Hoc 安装15 分钟

阅读建议

  • 使用 Xcode 自动签名的开发者:理解原理后,大部分情况交给 Xcode「Automatically manage signing」即可,但一定要知道自动签名背后在做什么。
  • 使用 CI 打包的团队:本章的证书/描述文件维护知识是 CI 签名配置的前提,建议精读并配合 fastlane 文档实践。
  • 遇到具体报错时:把报错信息对应到本章「常见问题」部分,通常能快速定位。

章节