Provisioning Profiles(描述文件)

描述文件类型

类型用途组成要素典型场景
Development开发调试开发证书 + App ID + 设备Xcode 真机调试
Ad Hoc定向分发测试发布证书 + App ID + 设备不装 TestFlight 的真机分发
App Store上架发布证书 + App ID(无需设备)提审 / 上传构建
In-House(企业)企业内部企业证书 + App ID企业内部分发(需企业账号)

创建步骤

  1. 进入 Certificates, Identifiers & Profiles → Profiles → “+”。
  2. 选择描述文件类型(Development / Ad Hoc / App Store)。
  3. 选择证书(优先最新的 Distribution 或 Development 证书)。
  4. 选择 App ID(确保已开启所需能力)。
  5. 若为 Development / Ad Hoc,选择设备列表。
  6. 命名并下载 .mobileprovision,导入 Xcode / CI。

Xcode 自动签名 vs 手动签名

方式说明适用
自动签名(推荐)登录 Apple ID 后 Xcode 自动管理证书与描述文件个人 / 小团队
手动签名手动选择证书与描述文件CI、复杂多环境

维护与更新

  • 证书续期、设备变更、能力新增后,都需要重新生成描述文件
  • CI 场景:更新证书与描述文件后重新构建;用 fastlane match 可把证书/描述文件集中托管。
  • 一个描述文件到期不影响已发布 App,只影响「新的构建签名」。

常见问题排查

报错 / 现象排查思路
No provisioning profile found检查 App ID、证书、设备是否都就绪;重新生成描述文件
Profile doesn’t include the device在描述文件中加入该设备 UDID 并重新生成
Entitlements mismatch检查 App ID 能力与 Xcode 配置是否一致
证书不匹配描述文件引用的证书必须与钥匙串中私钥对应

自检清单

  • 已按环境创建正确的描述文件类型
  • 描述文件引用的证书有效且含私钥
  • 新增能力 / 设备后已重新生成描述文件
  • CI / Xcode 已更新到最新描述文件
  • 提审构建使用 App Store / Distribution 签名

作者说

签名报错 90% 都指向同一件事:证书、App ID、设备三者中至少有一处和描述文件对不上。遇到报错不要慌,按「描述文件 = 证书 + App ID + 设备」逐项核对,通常几分钟就能定位。