iOS APP 发布与证书申请指南
目录
- 前置准备
- 证书类型说明
- 注册 Apple 开发者账号
- 生成 CSR 证书签名请求
- 创建 App ID
- 申请开发与发布证书
- 添加调试设备
- 创建描述文件(Provisioning Profile)
- 导出 P12 证书
- 配置 UniApp 项目
- HBuilderX 云打包与 Xcode 配置
- 测试应用
- 发布到 App Store
- 常见问题
一、前置准备
发布 iOS 应用需要以下环境与账号:
| 项目 | 说明 |
|---|---|
| Apple 开发者账号 | 已加入 Apple Developer Program(个人/公司 99 美元/年,企业 299 美元/年) |
| Mac 电脑 | 必须使用 macOS 系统(生成 CSR、导出 P12、Xcode 打包均依赖 Mac) |
| Xcode | 安装最新版 Xcode |
| UniApp 项目 | 确保项目在 HBuilderX 中可正常运行 |
| iOS 设备(可选) | 用于真机调试与测试 |
说明:若已通过第三方工具或旧 Mac 申请过 P12 证书,可在 Windows 等非 Mac 环境使用已有证书进行云打包;但首次申请证书仍建议在 Mac 上完成。
二、证书类型说明
| 证书类型 | 用途 | 有效期 | 数量限制 |
|---|---|---|---|
| Apple Development(开发证书) | 真机调试、开发测试 | 1 年 | 每个账号最多 2 个 |
| Apple Distribution(发布证书) | App Store 上架、Ad Hoc 内测分发 | 1 年 | 每个团队最多 1 个 |
| APNs Development | 开发环境推送通知 | 1 年 | 每个 App ID 1 个 |
| APNs Distribution | 生产环境推送通知 | 1 年 | 每个 App ID 1 个 |
描述文件(.mobileprovision)类型:
| 类型 | 用途 |
|---|---|
| iOS App Development | 开发调试,需绑定测试设备 UDID |
| Ad Hoc | 内测分发,仅描述文件内包含 UDID 的设备可安装 |
| App Store | 上架 App Store 的正式包 |
三、注册 Apple 开发者账号
若尚未开通开发者账号,按以下步骤注册:
- 使用有效的 Apple ID 登录 Apple Developer。
- 点击 Join the Apple Developer Program。
- 选择账号类型:
- 个人账号:99 美元/年,适用于独立开发者,可上架 App Store。
- 公司/组织账号:99 美元/年,需提供 D-U-N-S 编号,苹果可能电话核实。
- 企业账号:299 美元/年,用于内部分发,不可上架 App Store。
- 填写资料并支付年费,审核通过后账号激活。
四、生成 CSR 证书签名请求
CSR(Certificate Signing Request)是所有证书申请的第一步,用于生成公钥和私钥对。
4.1 打开钥匙串访问
在 Mac 上打开 钥匙串访问(Launchpad → 其他 → 钥匙串访问)。
4.2 创建 CSR 文件
- 顶部菜单选择:钥匙串访问 → 证书助理 → 从证书颁发机构请求证书...

- 在「证书信息」窗口中填写:
-
用户电子邮件地址:开发者账号邮箱
-
常用名称:姓名或公司名称
-
请求是:选择 存储到磁盘
-
不要勾选「让我指定密钥对信息」
-


- 点击 继续,选择保存位置(建议桌面)。
- 文件名保持默认
CertificateSigningRequest.certSigningRequest,点击 存储 → 完成。
生成成功后,在钥匙串访问的 密钥 分类中会出现新的公钥和私钥对。请妥善保管私钥,后续导出 P12 时需要用到。
五、创建 App ID
每个 iOS 应用都需要唯一的 App ID(Bundle ID),且须与 UniApp 项目 manifest.json 中的包名一致。
5.1 进入标识符管理
- 登录 Apple Developer。
- 左侧选择 Certificates, Identifiers & Profiles。
- 选择 Identifiers,点击右上角 +。
5.2 填写 App ID 信息
- 标识类型选择 App IDs,点击 Continue。
- 平台选择 iOS, tvOS, watchOS。
- Bundle ID 选择 Explicit(明确的)。
- Description:填写应用描述。
- Bundle ID:填写唯一标识,建议反域名格式,例如:
io.dcloud.hellouniappcom.companyname.appname
- 根据需求勾选服务(如 Push Notifications 推送、iCloud 等)。
- 点击 Continue → Register 完成创建。
若 App ID 已存在,可跳过本节,直接进入证书申请。
六、申请开发与发布证书
6.1 登录开发者平台
- 打开浏览器访问 Apple Developer 官方网站
- 使用你的开发者账号登录(需开启双重认证)
- 点击左侧导航栏的 Certificates, IDs & Profiles 进入证书管理中心


6.2 申请开发证书(Apple Development)
- 用于将应用安装到真机进行调试测试。
- 在左侧选择 Certificates,然后点击右上角的 + 号创建新证书
- 在 "Create a New Certificate" 页面,选择 Apple Development,点击 "Continue"
- 在 "Upload a Certificate Signing Request" 页面,点击 "Choose File"
- 选择第一步生成的CertificateSigningRequest.certSigningRequest文件
- 点击 "Continue",苹果服务器将自动生成证书
- 证书生成成功后,点击 Download 下载证书文件(development.cer)


6.3 申请发布证书(Apple Distribution)
- 用于将应用上架到 App Store 或进行 Ad Hoc 企业内测分发,申请流程与开发证书完全相同:
- 回到 Certificates 页面,再次点击右上角的 + 号
- 选择 Apple Distribution,点击 "Continue"
- 上传同一个 CSR 文件(无需重新生成),点击 "Continue"
- 下载生成的发布证书(distribution.cer)
- 重要提示:每个团队只能有一个有效的 Apple Distribution 证书。如果提示 "证书数量超过限制",请先删除过期或不再使用的旧证书(删除旧证书不会影响已上架应用的正常运行)
6.4 安装证书到钥匙串
- 在钥匙串访问中选择 登录 钥匙串 → 证书 分类。
- 确认证书已安装且显示为「此证书已被此账户信任」。
若证书显示「不受信任」,请检查系统日期时间是否正确,或重新下载 Apple 根证书。
七、添加调试设备
开发描述文件和 Ad Hoc 描述文件需要绑定测试设备的 UDID。
- 在证书管理页面选择 Devices,点击 +。
- 填写 设备名称 和 UDID。
- 点击 Continue 完成添加。
获取设备 UDID 的方法:
- Xcode:连接设备 → Window → Devices and Simulators → 选中设备 → 复制 Identifier。
- Finder(macOS Catalina 及以上):连接设备 → 在 Finder 侧边栏选中设备 → 点击设备信息区域可显示 UDID。
- 设置 App:部分第三方工具或 TestFlight 也可获取。
旧版文档中通过 iTunes 获取 UDID 的方式已不适用,请使用上述方法。
八、创建描述文件(Provisioning Profile)
描述文件将 App ID、证书和设备 绑定在一起,是真机调试和应用分发必不可少的文件。
8.1 开发描述文件(Development)
- 左侧选择 Profiles,点击 +。
- 选择 iOS App Development,点击 Continue。
- 选择已创建的 App ID,点击 Continue。
- 选择需要绑定的 开发证书(建议勾选 Select All),点击 Continue。
- 选择授权调试的 设备(建议勾选 Select All),点击 Continue。
- 输入描述文件名称,点击 Generate。
- 点击 Download 下载
.mobileprovision文件。
8.2 发布描述文件(App Store)
- 点击 +,选择 App Store,点击 Continue。
- 选择 App ID,点击 Continue。
- 选择 iOS Distribution / Apple Distribution 发布证书,点击 Continue。
- 输入描述文件名称,点击 Generate → Download。
8.3 安装描述文件
- 双击
.mobileprovision文件,系统会自动安装到 Xcode。 - HBuilderX 云打包时,需在打包界面分别上传 开发/发布证书(.p12) 和对应 描述文件(.mobileprovision)。
九、导出 P12 证书
P12 格式证书包含公钥和私钥,用于 HBuilderX 云打包、Unity 等第三方打包工具进行代码签名。
- 在钥匙串访问中找到已安装的证书(Apple Development 或 Apple Distribution)。
- 右键点击证书 → 导出「Apple Development: 姓名 (邮箱)」。
- 文件格式选择 个人信息交换 (.p12),选择保存路径。
- 设置 证书密码(打包签名时需要,请务必牢记)。
- 输入 Mac 系统密码,完成导出。
重要:P12 证书包含私钥,请妥善保管,切勿分享给他人或提交到公开仓库。
十、配置 UniApp 项目
在 HBuilderX 中打开项目,编辑 manifest.json → App 模块配置 / App 常用其他设置,确保填写:
- 应用名称
- 包名(Bundle ID):与 Apple Developer 中创建的 App ID 完全一致,如
com.companyname.appname - 版本号(versionCode) 与 版本名称(versionName)
- 权限设置:相机、相册、定位等按需配置
修改后保存并重新编译,确认项目在 HBuilderX 模拟器或浏览器中运行正常。
十一、HBuilderX 云打包与 Xcode 配置
11.1 HBuilderX 云打包(推荐)
- 在 HBuilderX 中选择 发行 → 原生 App-云打包 → iOS。
- 上传以下文件:
- 开发/发布 P12 证书 及证书密码
- 对应的 .mobileprovision 描述文件
- 选择打包类型(开发包 / 正式包),提交云打包。
- 打包完成后下载
.ipa或 iOS 工程文件。
11.2 本地 Xcode 工程(可选)
若需本地调试或自定义原生配置:
- 通过 HBuilderX 云打包下载 iOS 原生工程,或使用 发行 → 原生 App-本地打包 生成工程。
- 在 Mac 上用 Xcode 打开工程。
- 选择项目 → Signing & Capabilities:
- 使用 Apple ID 登录并选择 Team。
- 配置 Bundle Identifier(与 manifest.json 一致)。
- 选择或导入 Provisioning Profile。
简化方式:Xcode 可开启 Automatically manage signing,自动创建证书与描述文件,适合个人开发者快速调试;正式上架仍建议使用手动管理的发布证书。
十二、测试应用
12.1 模拟器测试
在 Xcode 中选择模拟器设备,点击 Run(▶) 运行测试。
12.2 真机测试
- 用数据线连接 iOS 设备,并在设备上信任此电脑。
- 在 Xcode 顶部选择物理设备,点击 Run。
- 首次安装可能需在设备 设置 → 通用 → VPN 与设备管理 中信任开发者证书。
12.3 Ad Hoc 内测
使用 Ad Hoc 描述文件打包的 .ipa,可通过 TestFlight、蒲公英等分发平台安装到已注册 UDID 的设备上。
十三、发布到 App Store
13.1 在 App Store Connect 创建应用
- 登录 App Store Connect。
- 点击 我的 App → +,创建新 App。
- 填写应用名称、语言、类别、隐私政策 URL 等必填信息。
13.2 上传应用包
方式一:Xcode Archive(本地工程)
- Xcode 中选择 Product → Archive。
- Archive 完成后,点击 Distribute App。
- 选择 App Store Connect 作为发布目标,按向导完成上传。
方式二:HBuilderX 云打包 + Transporter
- 使用 App Store 发布描述文件 云打包生成
.ipa。 - 通过 Mac 上的 Transporter 或
xcrun altool上传至 App Store Connect。
13.3 提交审核
- 在 App Store Connect 中填写应用截图、描述、关键词、分级等信息。
- 选择刚上传的构建版本。
- 提交审核,等待苹果审核(通常 1–3 个工作日)。
审核通过后,应用即可在 App Store 上线。
十四、常见问题
证书相关
| 问题 | 处理方式 |
|---|---|
| 证书过期 | 证书有效期 1 年,过期前按本文流程重新申请;已上架 App 不受影响,更新版本时需使用新证书 |
| 证书数量超限 | 个人账号最多 2 个开发证书、1 个发布证书;删除过期证书可释放名额 |
| 换了新 Mac | 从旧 Mac 导出 P12 证书,在新 Mac 上安装 P12 及对应描述文件 |
| 证书不受信任 | 检查系统时间、重新下载 Apple 根证书、确认 CSR 与证书匹配 |
| P12 密码忘记 | 无法恢复,需重新申请证书并重新导出 P12 |
打包与上传
| 问题 | 处理方式 |
|---|---|
| Bundle ID 不一致 | 确保 manifest.json、App ID、描述文件三者 Bundle ID 完全一致 |
| 描述文件与证书不匹配 | 重新生成描述文件,确保选择了正确的证书类型 |
| 上传失败 | 更新 Xcode 至最新版,检查网络,确认使用 Distribution 证书 + App Store 描述文件 |
| 云打包失败 | 核对 P12 密码、描述文件类型(开发/发布)是否与打包类型一致 |
审核相关
| 问题 | 处理方式 |
|---|---|
| 审核被拒 | 查看 App Store Connect 中的拒绝原因,修改后重新提交 |
| 隐私政策缺失 | App Store Connect 必须填写有效的隐私政策 URL |
| 权限说明不完整 | 在 Info.plist 中补充各权限的使用说明(如相机、定位等) |
推送证书(可选)
若应用需要消息推送:
- 在 App ID 中勾选 Push Notifications 服务。
- 在 Certificates 页面申请 APNs Development iOS 或 APNs Distribution iOS。
- 上传 CSR 生成推送证书,导出为 P12 供服务端使用。
赣公网安备36010902001041号