# iOS 证书自动管理
为方便开发者更高效地生成 iOS 证书签名所需的 p12 文件以及 profile 文件,开发者工具 (版本号 >= 1.06.2412042
) 新增支持「iOS 证书自动管理」功能。
# 一、能力概览
开发者需在项目的 project.miniapp.json
文件配置 Apple Connect
信息,即可开启该能力。
配置信息的获取请看第二部分
开启后在以下位置时,可以使用自动管理:
# 1.1 工具栏 - 选择设备 - 签名证书管理
# 1.2 工具栏 - 构建 - 打包生成 IPA - 证书配置
# 二、Apple Connect 配置获取与配置
关于
Apple Connect
详细的介绍以及完整的操作说明可前往 Apple 官方文档 查看,本文仅以「团队」密钥为例子提供部分操作说明。说明: API 密钥有两种类型,分别是团队和个人。
# 2.1 登录 appstoreconnect
并进入 “用户和访问”
前往https://appstoreconnect.apple.com并登录。然后点击「用户和访问」。
# 2.2 编辑或查看密钥信息并下载 p8 文件
选择「团队密钥」,并复制 issuer id
和密钥 id
(该信息需填至开发者工具 project.miniapp.json 文件中)

注意:生成密钥时开发者需要注意权限控制
注意:p8 文件只能下载一次;该信息需填至开发者工具 project.miniapp.json 文件中


# 2.3 在开发者工具配置 Apple Connect 信息
说明:在 1.2 中下载的 p8 文件需放置在当前项目目录中
# 三、使用操作
# 3.1 运行
# 3.1.1 未选中任何设备或者选中模拟器均无需配置签名信息

- 注意:p8 文件只能下载一次;该信息需填至开发者工具 project.miniapp.json 文件中


# 3.2 在开发者工具配置 Apple Connect 信息
- 说明:在 1.2 中下载的 p8 文件需放置在当前项目目录中

# 四、开发者工具操作指南
# 4.1 运行
# 4.1.1 未选中任何设备或者选中模拟器均无需配置签名信息

# 4.1.2 选中真机即可按需配置签名信息
- 临时签名: 使用Apple ID 和密码即可
- 证书签名 需苹果开发者账号
# 4.1.3 启用证书自动管理功能
完成 Apple Connect
信息配置后即可自动生成 p12
文件以及 profile
文件
若未完成 Apple Connect 信息配置,将无法启动证书自动管理功能
# 4.1.4 不启动「证书自动管理」功能,开发者仍可手动管理
选择已有的 p12 文件或者新创建 p12 文件
选择对应的 profile 文件或新创建 profile 文件

完成相关配置后,点击确定即可构建&自动安装至真机并运行

# 4.2 构建
逻辑与 2.1 相同,均是:
需开发者前往project.miniapp.json
配置 Apple Connect 信息 方可正常使用该功能
完成 Apple Connect 信息配置后即选择启动「自动管理功能」,然后即可自动生成 p12 文件以及 profile 文件
开发者亦可不启动「证书自动管理」功能,继续使用原来的方式构建

# 五、常见问题
# 5.1 报错提示:required by WeAppIdaas
- 证书管理勾选「自动管理」后出现错误提示:get valid profile fail, bundleid capabilities not meet requirements. please tum on APPLE_ID_AUTH (required by WeApp|daas) in apple developer website(如下图)
- 出现此错误提示时,开发者需先确认 App 中需要需要用到 Apple 登录功能,如果需要,则需前往 Apple 开发者平台开启 Apple 登录的权限;
- 如果确认 App 中无需使用到 Apple 登录功能,则开发者需 前往开发者工具的 project.miniapp.json 中将「idaas SDK」 取消勾选即可

# 5.2 报错提示:A required agreement is missing or has expired.
- 证书管理勾选「自动管理」后出现错误提示:request data got error return: A required agreement is missing or has expired. - This request requires an in-effect agreement that has not been signed or has expired.(如下图)
- 解决方案:前往 Apple 开发者平台 同意《Apple Developer Program License Agreement》或者《Apple Developer Agreement》即可
