# iOS 基于证书的配置

<Aside type="caution" title="重要提示">
Pushwoosh 中的 [Live Activities](/zh/developer/pushwoosh-sdk/ios-sdk/ios-live-activities/) 需要[基于令牌的配置](/zh/developer/first-steps/connect-messaging-services/ios-configuration/ios-token-based-configuration/)。如果您打算使用 Live Activities，请确保您的 iOS 配置使用此方法，因为不支持基于证书的配置。
</Aside> 

请按照本指南手动配置 iOS 平台。

<Aside type="note">
请确保您已为您的应用创建了置备描述文件，以便将其提交到 App Store。更多信息请参阅 [Apple 开发者文档](https://developer.apple.com/help/account/provisioning-profiles/create-an-app-store-provisioning-profile)。
</Aside>

## 生成证书请求文件

1. 启动 **Keychain Access (钥匙串访问)**，转到 **Certificate Assistant (证书助理)**，然后点击 **Request a Certificate From a Certificate Authority (从证书颁发机构请求证书)**：

<img src="/ios-configuration-ios-platform-configuration-1.webp"
     alt="macOS 上的钥匙串访问，显示证书助理菜单以请求 APNs 证书的 CSR"/>

2. 输入所需信息并选择 **Saved to disk (存储到磁盘)**。您应将 CA 电子邮件字段留空。点击 **Continue (继续)** 并使用建议的名称 **Save (存储)** 证书请求。

<img src="/ios-configuration-ios-platform-configuration-2.webp"
     alt="在钥匙串访问中创建 CSR"/>

## 在 Apple Developer Portal 中创建 APNs 证书

1. 登录 [Apple Developer Portal](https://developer.apple.com/account/)，在 **Account (账户)** 选项卡中打开 **Certificates, Identifiers & Profiles**。点击 **Add (添加)**：

<img src="/ios-configuration-ios-platform-configuration-3.webp"
     alt="Apple Developer Portal—Certificates, Identifiers & Profiles 仪表板，带有添加证书按钮"/>

2. 选择您需要的证书类型，然后点击页面底部的 **Continue (继续)**。

<Aside type="note">
您可以选择下面截图中显示的 **Sandbox & Production** 证书类型，然后在 Pushwoosh 控制面板中配置 iOS 平台时选择相应的 **Gateway (网关)**。如果需要，您也可以分别创建 Sandbox 和 Production 证书。
</Aside>

<img src="/ios-configuration-ios-platform-configuration-4.webp"
     alt="在 Apple Developer Portal 中选择 APNs SSL (Sandbox & Production) 证书类型"/>

3. 在下一页选择您项目的 **App ID**，然后点击 **Continue (继续)**。

<img src="/ios-configuration-ios-platform-configuration-5.webp"
     alt="在 Apple Developer Portal 中为 APNs 证书颁发选择 App ID"/>

<Aside>
您可以跳过 **About Creating a Certificate Signing Request (CSR) (关于创建证书签名请求 (CSR))**，因为您已经创建了一个。
</Aside>

4. 选择您之前创建的 **Certificate Signing Request (证书签名请求)**。

<img src="/ios-configuration-ios-platform-configuration-6.webp"
     alt="上传 CSR 文件"/>

5. 下载证书并将其添加到 **Keychain Access (钥匙串访问)**。点击证书后，**Keychain Access (钥匙串访问)** 将会启动。

<img src="/ios-configuration-ios-platform-configuration-7.webp"
     alt="从 Apple Developer Portal 下载证书"/>

## 导出私钥 (.p12)

在 **Keychain Access (钥匙串访问)** 中，右键点击您刚刚添加的证书，然后选择“导出”。

<img src="/ios-configuration-ios-platform-configuration-8.webp"
     alt="从钥匙串访问中将私钥导出为 .p12"/>

保存 **Personal Information Exchange (.p12)** 文件。系统将提示您设置密码。

<Aside type="caution" title="重要提示">
请务必记住私钥密码，您稍后会需要它。
</Aside>

输入密码后，点击 **Allow (允许)** 以完成导出私钥。

## 在 Pushwoosh 中配置 iOS 平台

在您的 Pushwoosh 项目中，转到 **Configure Platforms (配置平台)** 部分，然后在 iOS 行中点击 **Configure (配置)**：

<img src="/ios-configuration-ios-platform-configuration-9.webp" alt="Pushwoosh 控制面板显示 iOS 行和配置按钮"/>

在打开的表单中，选择 **certificate-based manual configuration (基于证书的手动配置)**，然后点击 **Next (下一步)**：

<img src="/ios-configuration-ios-platform-configuration-10.webp" alt="Pushwoosh 表单，已选择基于证书的手动配置"/>

在打开的窗口中，执行以下操作：

* 上传证书文件 (.p12)
* 输入 **Private key password (私钥密码)**
* 选择 **Gateway (网关)**

<img src="/ios-configuration-ios-platform-configuration-11.webp" alt="在 Pushwoosh 中用于上传 .p12 文件、输入密码和选择网关的字段"/>

点击 **Configure (配置)** 完成设置。