更新时间:2024-07-29 08:55:58下载pdf
本文介绍了如何制作以下几种 iOS 证书或文件,您在涂鸦开发者平台构建 OEM App 应用时需要上传。
证书或文件 | 对应的苹果官方名称 | 说明 |
---|---|---|
消息推送证书 | Apple Push Notification service SSL Certificate | 一种用于在 iOS 设备上推送消息的证书,主要用于支持应用的消息推送功能。 |
应用发布证书 | Apple Distribution Certificate | 用于对您的应用程序签名,以便提交给 App Store 或进行 TestFlight 测试。 |
配置描述文件 | Provisioning Profiles | 包含主应用描述文件和应用拓展描述文件。 |
制作以上文件或证书后,上传至涂鸦开发者平台,您的 OEM iOS App 才能进行构建打包,继而完成 TestFlight 测试 和 App Store 上架 等工作。
登录 Apple Developer,选择 Certificates, Identifiers & Profiles 选项。
选择 Identifiers,单击 +。
选择 App IDs,单击 Continue。
在 Description 栏填写描述,例如您的应用英文名称。在 Bundle ID 栏选择 Explicit,并填写您的应用包名。
Capabilities 是 App ID 配置的重要一环,您可以参考下文 开启并配置 App IDs 能力(Capabilities) 了解详情。在本步骤可以暂时略过。
单击 Continue,确认信息无误后单击 Register。
如果系统提示 An App ID with Identifier ‘com.xxx.xxx’ is not available. Please enter a different string.,说明包名已被占用。请单击 Back,返回上一步,更换包名。
注册填写的 Bundle ID 要与涂鸦开发者平台中您设置的 OEM App 包名 一致,否则制作出的消息推送证书、应用描述文件等是无法在开发者平台使用的。
如果没有错误提示,App ID 显示在列表中,那么 App ID 创建完成。
创建 App Group ID,是因为应用扩展程序(如 Siri 控制、Widget 插件等)和主应用分别运行在不同的进程中,并且拥有不同的沙盒。这意味着,应用扩展程序无法直接访问主应用的数据和资源。
为了解决这个问题,苹果开发了 App Group 功能。它允许应用扩展程序和主应用共享一个数据容器,这样应用扩展程序就可以访问主应用的数据和资源了。
选择 Identifiers,单击 +。
选择 App Groups,单击 Continue。
在 Description 栏填写描述,例如您的应用英文名称。在 Identifier 填写 Group ID。
Group ID 由您的包名加上一个 group
前缀组成,假设您的包名为 com.example.app
,那么您的 Group ID 就是 group.com.example.app
单击 Continue,确认信息无误后单击 Register。
如果系统提示 An Application Group with Identifier ‘group.xxx.xxx.xxx’ is not available. Please enter a different string.,说明该 Identifier 已被占用。请单击 Back,返回上一步,更换 Identifier。
注册填写的 Identifier 的内容仅能是您 上一步 创建的 App ID 加上了 group
前缀。例如您上一步创建的 App ID 为 com.example.app
,那么当前创建的 Group ID Identifier 就只能是 group.com.example.app
。
如果没有错误提示,App Group ID 显示在列表中,那么 App Group ID 创建完成。
涂鸦 OEM App 提供了丰富可选高级功能与增值服务,这些功能如 Siri 控制、Widget 插件等在 iOS 中需要通过 应用扩展程序(App Extension) 的方式来实现。
每个应用扩展都需要创建独立的 App ID,其创建过程与主应用的 App ID 类似,可参考 创建主应用 App ID 步骤进行创建。但需要注意,应用扩展的 Bundle ID 需要符合以下规则:
com.companyname.appname
,则应用扩展程序的 Bundle ID 应该以 com.companyname.appname
开头。请结合您 涂鸦开发者平台 上 iOS 证书配置页面 所提示需要上传的 配置描述文件 表单项,参考下方表格创建对应的应用扩展 App IDs:
应用扩展配置描述文件 | 建议的 App ID(假设您主应用的 App ID 为 com.example.app) | 备注 |
---|---|---|
推送服务扩展 | com.example.app.notice | - |
Siri Intent 扩展 | com.example.app.intent | - |
Siri IntentUI 扩展 | com.example.app.intentui | - |
设备、场景 WidgeKit | com.example.app.controlWidgetExtension | 需要使用 “ODM 模板版本 v5.15.0” 及以上,并且在 iOS 17 及以上版本才能生效 |
设备操作 Widget 扩展 | com.example.app.widgetdevice | 在 iOS 17 及以下版本生效,iOS 18 及以上版本无效 |
场景业务 Widget 扩展 | com.example.app.widgetscene | 在 iOS 17 及以下版本生效,iOS 18 及以上版本无效 |
语音控制 Widget 扩展 | com.example.app.widgetspeech | 在 iOS 14.1 及以上版本才能生效 |
Watch App | com.example.app.watchkitapp | - |
Watch App 扩展 | com.example.app.watchkitapp.watchkitextension | - |
Matter 功能扩展 | com.example.app.matter | 涂鸦开发者平台暂不支持自助开通 Matter 功能,请提交 技术支持工单 联系涂鸦开通。 |
创建 主应用 App ID 和 应用扩展 App IDs 的过程中,您应该已经注意到页面下方的 Capabilities 选项卡了。现在,您需要配置这些 能力(Capabilities) 以匹配您 OEM App 的需求。App ID 中的 Capabilities 指的是应用的能力,也就是应用可以使用哪些苹果提供的服务和功能。
每个 App ID 都有一个相应的 Capabilities 列表,用来描述应用的能力。例如,您可以在 Capabilities 中启用应用的推送通知功能,让应用能够发送推送通知。
通过设置 Capabilities,您可以控制应用的能力,确保应用能够正常使用服务和功能,并且不会超出您设置的权限。
首先,您可以从简单的入手,先来配置您刚刚创建的 应用扩展 App IDs 的能力(Capabilities)。
第一步:开启并配置应用扩展的 App Group 能力
所有的 应用扩展 App IDs 都必须也只需要配置 App Groups 能力,请您务必重复以下步骤以完成所有您已创建的 应用扩展 App IDs 的 App Groups 能力配置工作。
在 Identifier 列表中选择要配置的 应用扩展 App ID,并单击打开详情页。
在 Capabilities 选项卡中,选中 App Groups 能力选项。
单击 App Groups 右侧的 Configure 按钮,在弹出框中选中您刚刚创建的 App Group ID,单击 Continue 以提交。
确认 App Groups 右侧 Notes 已变为提示 Enabled App Groups(1),单击右上角 Save 按钮以保存本次 App Groups 能力配置。
重复 步骤 1,直至您完成所有已创建 应用扩展 App IDs 的 App Groups 配置工作。
第二步:开启并配置主应用所需能力
您的 IoT OEM App 应用的能力配置分为 基础能力 与 额外能力 两部分:
首先,您可以从 基础能力 的配置开始:
在 Identifier 列表中选择要配置的 主应用 App ID,并单击打开详情页。参照以下表格逐个开启能力并做必要的配置:
能力(Capability) | 开启能力 | 配置方法 |
---|---|---|
Access Wi-Fi Information | - | |
App Groups | 单击右侧的 Configure 按钮,在弹出框中选中您刚刚创建的 App Group ID,单击 Continue 以提交。 | |
Associated Domains | - | |
AutoFill Credential Provider | - | |
Push Notifications | - |
完成以上 基础能力 开启与配置后,单击页面右上角的 Save 按钮,保存此次 主应用 App ID 的能力变更。
接下来,您可以处理 额外能力 的配置,您需要确认您的 OEM App 是否满足具体能力的开启条件(某些能力实现需要与硬件相配合):
若您的 OEM App 开启了 AP 热点自动连接 功能,您需要确保为您的 App ID 勾选对应的 热点 (Hotspot) 能力:
若您的 OEM App 开启了 第三方登录 功能,按照苹果 App Store 审核要求,您必须同时开启 苹果登录(Sign In with Apple) 功能,这需要您为 App ID 勾选对应能力:
若您的 OEM App 拥有或购买了 Siri 介入 功能,则您需要为 App ID 勾选 SiriKit 能力:
若您的 OEM App 选择支持 EZ 配网(Wi-Fi 快速配网),请参考 为 Wi-Fi 快连配网(EZ 配网)功能申请应用权限。申请到 Multicast Networking 能力后,在您的 App ID 中选中 Additional Capabilities 选项卡找到它并将其开启:
Additional Capabilities 中的能力是需要向苹果申请才可批注使用的。默认情况下,App ID 详情页中不会展示 Additional Capabilities 选项卡,直到您获批使用某项能力(如 Multicast Networking)后,这个选项卡才会展示出来。
Critical Alerts 能力允许您向处于静音或开启勿扰模式的 iOS 设备推送重要提醒,请 提交工单 咨询您的 IoT OEM App 是否需要开启此项能力。
Critical Alerts 能力需要您首先前往苹果的 Request a Critical Alert Notifications Entitlement 页面填写能力申请。能力申请通过后,在您的 App ID 中选中 Additional Capabilities 选项卡找到它并将其开启:
若您的 OEM App 需要支持 Matter 设备 的配网、控制和共享功能,则您需要为 App ID 勾选 Matter Allow Setup Payload 能力:
涂鸦开发者平台暂不支持自助开通 Matter 功能,请提交 技术支持工单 联系涂鸦开通。
根据您的应用场景完成以上 额外能力 开启与配置后,单击页面右上角的 Save 按钮,保存此次 主应用 App ID 的能力变更。
您需要按照以下流程制作两种证书并上传至涂鸦开发者平台,以完成您 OEM App 的构建配置流程。制作消息推送与应用发布证书的流程是相似的,主要有以下三个步骤:
创建 CSR 文件有两种方式,任选其一即可:
使用 macOS 电脑创建(推荐)
通过命令行终端使用 OpenSSL 创建
若您有 macOS 电脑,强烈推荐您使用它以图形化的方式完成 CSR 文件创建工作。若您身边没有 macOS 电脑或您为一名技术人员,您可以通过命令行终端使用 OpenSSL (必须为 1.x 系列版本,推荐 1.1 版本) 来完成 CSR 文件创建工作。
方式一:使用 macOS 电脑创建
在 macOS 电脑上创建一个 CSR(证书签名请求)文件,您可以使用 钥匙串访问(Keychain Access) 应用程序。
在您的 macOS 电脑上打开 应用程序 文件夹,然后找到 实用工具 文件夹。在 实用工具 文件夹中,打开 钥匙串访问 应用程序。
在 钥匙串访问 应用程序中,单击菜单栏 钥匙串访问 > 证书管理 > 从证书颁发机构请求证书。
用户电子邮件地址 填写您的常用邮箱,常用名称 填写您的名称,选择 存储到磁盘,然后单击 继续。
保存 CertificateSigningRequest.certSigningRequest 文件至本地,完成 CSR 文件创建。
方式二:使用命令行终端创建
要使用终端方式创建 CSR 文件,请您先在本地环境(Windows 或 Linux 发行版)安装 OpenSSL。在您当前系统中打开终端(Windows PowerShell 或 Linux Terminal 等)应用,参考以下步骤完成 私钥 与 CSR 文件 的创建:
使用以下命令创建一个 私钥:
# openssl version should be 1.x series, 3.x not compatible
openssl genrsa -out private.key 2048
使用以下命令生成 CSR 文件:
# openssl version should be 1.x series, 3.x not compatible
openssl req -new -key private.key -out example.csr -subj "/CN=Your Name/emailAddress=you@example.com"
在这条命令中,您需要将 Your Name 替换为您的名称,将 you@example.com 替换为您的电子邮件地址。
使用以下命令将 CSR 文件转换为苹果平台使用的 CertificateSigningRequest.certSigningRequest
格式:
# openssl version should be 1.x series, 3.x not compatible
openssl req -in example.csr -out CertificateSigningRequest.certSigningRequest
在命令行终端使用 OpenSSL 创建 CSR 文件时,请妥善保管好 第一步 生成的 private.key
私钥文件,在后续导出 p12 格式 证书的过程中它是必须的。
如果您的涂鸦开发者账号下有多个 OEM App 应用,可以使用同一个发布证书,不需要多次创建。多次创建会带来不必要的麻烦。
打开 Certificates, Identifiers & Profile 页面,选择 Certificates,单击 +。
选择 iOS Distribution(App Store and Ad Hoc),单击 Continue。
如果无法选择,提示证书数量超过限制,请返回上一页,删除多余的证书。证书只在应用构建和上传阶段会使用,因此删除证书不会影响已上架应用的正常使用。
单击 Choose File,选择刚才生成的 CSR 文件,单击 Continue。
单击 Download,下载 ios_distribution.cer 文件到本地
将证书导出为 p12 格式,这里会有两种导出流程,分别对应您前面创建 CSR 文件的方式:
方式一:若您使用 macOS 电脑创建 CSR,按照以下流程导出 p12:
双击下载的 ios_distribution.cer(名称您可以自定义) 文件,它将会自动导入到 钥匙串访问 应用中。
.cer 文件需要导入到钥匙串之后,才能导出为 .p12 文件,请继续完成下一步。
打开 钥匙串访问 应用,在 种类 栏目选择 我的证书,找到导入的证书,右键选择 导出证书。
存储为 应用发布证书.p12,文件格式选择 个人信息交换(.p12),单击 存储。
为应用发布证书创建一个密码,并记录下来。单击 好,保存应用发布证书。
方式二:若您在终端中使用 OpenSSL 创建 CSR,使用命令将 cer 证书和私钥 key 合并导出为 p12 格式文件:
# openssl version should be 1.x series, 3.x not compatible
openssl x509 -inform DER -in ios_distribution.cer -out ios_distribution.pem
openssl pkcs12 -export -out cert.p12 -inkey private.key -in ios_distribution.pem
在这条命令中,cert.p12 为您想要导出的 p12 文件名,private.key 为您在 CSR 文件创建过程中生成的私钥文件,而 ios_distribution.cer 为您从苹果开发者平台下载的证书文件名。
在执行命令时,系统会提示您输入密码。您需要输入您希望为 p12 文件设置的密码,并再次输入以确认。
与应用发布证书不同,如果您的账号下存在多个 OEM App 应用,那么每个应用都需要创建自己的消息推送证书。
打开 Certificates, Identifiers & Profile 页面,选择 Certificates,单击 +。
选择 Apple Push Notification service SSL (Sandbox & Production),单击 Continue。
在 App ID 栏选择应用的包名,单击 Continue。
单击 Choose File,选择刚才生成的 CSR 文件,单击 Continue。
单击 Download,下载 aps.cer 文件到本地
将证书导出为 p12 格式,这里会有两种导出流程,分别对应您前面创建 CSR 文件的方式:
方式一:若您使用 macOS 电脑创建 CSR,按照以下流程导出 p12:
双击下载的 aps.cer 文件,它将会自动导入到 钥匙串访问 应用中。
.cer 文件需要导入到钥匙串之后,才能导出为 .p12 文件,请继续完成下一步。
打开 钥匙串访问 应用,在 种类 栏目选择 我的证书,找到导入的证书,右键选择 导出证书。
存储为 应用推送证书.p12(名称您可以自定义),文件格式选择 个人信息交换(.p12),单击 存储。
为应用发布证书创建一个密码,并记录下来。单击 好,保存应用发布证书。
方式二:若您在终端中使用 OpenSSL 创建 CSR,使用下面命令将 cer 证书和私钥 key 合并导出为 p12 格式文件:
# openssl version should be 1.x series, 3.x not compatible
openssl x509 -inform DER -in aps.cer -out aps.pem
openssl pkcs12 -export -out push.p12 -inkey private.key -in aps.pem
在这条命令中,push.p12 为您想要导出的 p12 文件名,private.key 为您在 CSR 文件创建过程中生成的私钥文件,而 aps.cer 为您从苹果开发者平台下载的证书文件名。
在执行命令时,系统会提示您输入密码。您需要输入您希望为 p12 文件设置的密码,并再次输入以确认。
打开 Certificates, Identifiers & Profile 页面,选择 Profiles,单击 +。
选择 App Store,单击 Continue。
选择您开始创建的 主应用 App ID,单击 Continue。
选择之前创建的 应用发布证书,单击 Continue。
如果页面中出现多个证书,可以通过证书过期时间来区分。证书有效期为 1 年。如果无法区分,建议返回至证书列表页,删除多余的证书,重新开始此步骤。如果此步骤选择错误,将会导致应用无法构建。
在 Provisioning Profile Name 处可填写您的 App 名称,单击 Generate。
单击 Download,下载配置文件,完成文件创建。
制作应用扩展配置描述文件的流程与上一步主应用配置描述文件的流程类似,需要注意的是,在 第 3 步 选择 App ID 时,要选择您想要创建的应用扩展 App IDs,文件名称参考创建应用扩展 App IDs 阶段的 配置描述文件表格。
您在应用扩展 App IDs 阶段创建的每一个 ID,都对应需要创建一个应用扩展配置描述文件。
应用证书在上传完成之后,需要重新构建 App 才会生效。
消息推送证书有效期为 1 年,过期后 App 推送会无法使用。重新制作并上传证书即可,不需要重新构建 App。
您的苹果开发者账号每年需要续费,否则到期后应用市场会无法搜索到 App。续费以后就会重新显示。
自 2020 年 4 月起,使用第三方登录功能的 App 必须包含苹果登录功能才能够上架。更多详情,请参考《苹果官方文档》有关 通过 Apple 登录 的指南更新。
从 v3.15 版本开始,因为部分第三方 SDK 版本更新,您需要开启 Associated Domains 功能,才能够正常构建。
在 App 端使用 Apple ID 登录时,若提示 未完成注册,只需再次登录 Apple Developer,并在对应的 App IDs 下重新勾选(取消选中后先保存一次) Capabilities 列表中的 Sign In with Apple 选项,保存设置。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈