# iOS 配置选项

本节提供分步说明，指导您配置 iOS 应用程序以使用 Pushwoosh 启用消息服务。请根据您的项目要求，在基于证书的配置和基于令牌的配置之间进行选择。

<Aside type="tip">
无论选择哪种方法，都请确保您的证书和密钥安全。未经授权的访问可能导致您的推送通知功能被滥用。
</Aside>
## iOS 基于证书的配置
了解如何使用基于证书的身份验证为 APNs (Apple Push Notification Service) 配置 Pushwoosh for iOS。

<LinkCard title="了解更多" href="/developer/first-steps/connect-messaging-services/ios-configuration/ios-platform-configuration/" />

## iOS 基于令牌的配置
为 APNs 设置使用基于令牌身份验证的 Pushwoosh，这是一种比证书更安全、更高效的替代方案。

<LinkCard title="了解更多" href="/developer/first-steps/connect-messaging-services/ios-configuration/ios-token-based-configuration/" />  

## iOS 的 VoIP 证书配置
启用 Pushwoosh 以向您的 iOS 应用发送 VoIP 推送通知，这样您就可以向用户设备发送来电提醒和其他 VoIP 事件。

<LinkCard title="了解更多" href="/developer/first-steps/connect-messaging-services/ios-configuration/ios-voip-certificate-configuration/" />

## iOS 的 Apple Wallet pass 配置
上传您的 Pass Type ID 签名证书，以便 Pushwoosh 可以为您的应用签名和更新 Apple Wallet pass (`.pkpass`)。

<LinkCard title="了解更多" href="/developer/first-steps/connect-messaging-services/ios-configuration/ios-wallet-pass-configuration/" />

## 为 iOS 推送通知选择 .p12 证书还是 .p8 密钥

在 Pushwoosh 中配置 iOS 推送通知时，您必须通过 Apple Push Notification service (APNs) 进行身份验证。支持两种方法：

1. **`.p12` 证书**：传统的基于证书的方法。
2. **`.p8` 密钥**：Apple 推荐的现代基于令牌的方法。

本指南将帮助您确定哪种方法最适合您的用例。
<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> 


## 了解各种选项

| 特性               | `.p12` 证书                                         | `.p8` 身份验证密钥                                        |
|----------------------|------------------------------------------------------------|------------------------------------------------------------------|
| **工作原理**     | 使用加密证书建立信任。       | 使用由私钥签名的持久令牌。                |
| **文件**             | 包含证书和私钥的 `.p12` 文件。    | 包含私钥的 `.p8` 文件。                            |
| **过期时间**       | 会过期（通常为每年）；需要续订。          | 不会自动过期。                                           |
| **设置**            | 生成和管理更复杂。                       | 设置通常更简单。                                    |
| **用途**            | 每个环境的每个 Bundle ID 对应一个证书。        | 一个密钥支持多个应用和两种环境。           |
| **推荐**   | 传统方法。仅用于现有设置。               | Apple 和 Pushwoosh 推荐。                        |


## 每种方法的优缺点

### `.p12` 证书：传统方法

**优点：**
- 广泛支持。
- 允许为开发和生产环境使用不同的证书。

**缺点：**
- 证书会过期并需要续订。未能续订可能会中断推送的发送。
- 管理更复杂。


### `.p8` 密钥：现代推荐方法

**优点：**
- 无需续订，减少了维护开销。
- 更易于生成和集成。
- 一个密钥可跨项目使用。
- Apple 和 Pushwoosh 推荐。

**缺点：**
- 如果泄露，所有关联的应用都将面临风险。请妥善保管您的 `.p8` 密钥。


## 您应该选择哪种方法？

<Aside type="caution" title="重要安全提示">
无论您选择哪种方法，都请务必保护好您的证书和密钥。未经授权的访问可能会危及您的推送通知基础架构。
</Aside>

我们建议所有新项目都使用 **`.p8` 密钥方法**。它更简单、更具可扩展性，并且符合 Apple 的最佳实践。

仅在以下情况下使用 `.p12` 证书：

- 您现有的基础架构依赖于 `.p12` 证书。
- 您需要严格的环境分离，而这无法通过 `.p8` 密钥实现。


## 配置指南

<CardGrid>
  <LinkCard title="基于证书的配置" href="ios-platform-configuration" />
  <LinkCard title="基于令牌的配置" href="ios-token-based-configuration" />
  <LinkCard title="iOS 的 VoIP 证书配置" href="ios-voip-certificate-configuration" />
  <LinkCard title="iOS 的 Apple Wallet pass 配置" href="ios-wallet-pass-configuration" />
</CardGrid>