# 为 iOS 应用程序签名

> Follow this workflow to sign your iOS application during the build process.

[Unity Build Automation](https://unity.com/solutions/ci-cd) 会在构建过程中对 iOS 应用程序进行签名。这可以确保 iOS 应用程序满足在测试设备中安装或部署到 App Store 的要求。

## 加入 Apple Developer Program##join-the-apple-developer-program

要开发 iOS 应用程序，您必须是 [Apple Developer Program](https://developer.apple.com/programs) 会员。这样，您就可以构建、测试并最终将应用程序发布到 Apple App Store。

## 资源调配配置文件##provisioning-profiles

资源调配配置文件将开发者和设备绑定到经授权的开发团队，并使您能够使用设备进行测试。您必须在计划用于运行应用程序的每台设备上安装开发资源调配配置文件。

每个开发资源调配配置文件都包含一组开发证书、唯一设备标识符 (UDID) 和 App ID。

要使用设备进行测试，还必须在配置文件中包含开发证书。单个设备可以包含多个资源调配配置文件。

### 资源调配配置文件的组成部分##components-of-a-provisioning-profile

证书决定应用程序是仅用于开发还是作为 App Store 的候选发布版本。

标识符是标识项目的唯一 ID。对于基本项目，或者如果这是您的第一个 iOS 项目，则应创建一个 App ID。这通常与 Unity 项目的 Bundle ID 相同。

提示：有关签名身份和证书的更多信息，请参阅 Apple 开发者网站上的[维护签名资源](https://help.apple.com/xcode/mac/current/#/dev3a05256b8)。

设备是计划用于测试项目的硬件，例如 iPhone、iPad 或 iPod。即使使用的是虚拟设备或模拟器，也必须检索计划用于测试游戏的每个设备的 UDID。

然后，您需要将 UDID 添加到 Apple Developer Portal 中的 Devices（设备）部分。

## 创建 iOS 证书和 p12 文件##create-an-ios-certificate-and-p12-file

创建证书时，您必须决定是创建开发证书（仅用于测试）还是分发证书（可用于测试或通过 App Store 分发应用程序）。

### 创建证书##create-a-certificate

1. 登录 Apple Developer Program。
2. 导航到 Account（帐户）> Certificates（证书）。
3. 单击 Certificates（证书）旁边的添加按钮 (+) 以添加新的证书。
4. 选择要生成的证书类型。
5. 使用 Mac 上的 Keychain Access 程序生成证书签名请求 (CSR) 文件。
6. 返回 Create a New Certificate（创建新证书）页面，上传 CSR 文件（其扩展名可能为 .certSigningRequest）。
7. 要将证书下载到 Mac，请单击 Your Certificate is Ready（您的证书已就绪）屏幕上的 Download（下载）按钮。将此文件存储在安全的位置并进行备份。
8. 要将证书添加到钥匙串，请找到证书文件并双击它。这将打开 Keychain Access 程序。如果弹出消息“Do you want to add the certificate to a keychain?”（您想要将证书添加到钥匙串中吗？），请选择 login（登录）并单击 Add（添加）按钮。

### 创建 p12 文件##creating-a-p12-file

要使用 Build Automation 创建应用程序，必须将证书文件转换为 p12 文件。p12 文件是包含私钥和证书的文件，用于对代码进行签名。

1. 在 Mac 上打开 Keychain Access 程序。
2. 在左侧栏的 Keychains（钥匙串）下，确认选择了 Login（登录）。
3. 在左侧栏的 Category（类别）下，确认选择了 My Certificates（我的证书）。在 Keychain Access 主面板中，选择您的证书。注意：通常，您的证书位于 My Certificates（我的证书）下。如果不在那里，请在 Certificates（证书）下查找。
4. 从 File（文件）菜单中，选择 File（文件）> Export Items（导出项目），或右键单击并选择 Export（导出）。
5. 从 File Format（文件格式）下拉菜单中，选择 Personal Information Exchange (.p12)（个人信息交换 (.p12)）。注意：如果 Keychains（钥匙串）下的 Login（登录）和 Category（类别）下的 My Certificates（我的证书）未被选中，p12 选项将显示为灰色。
6. 为 p12 文件创建密码。在 Unity Build Automation 中为构建目标添加凭据时，您将需要此密码，因此请记下此密码。

## 添加设备##adding-devices

出于开发目的，Apple 要求提供您打算安装应用程序的每台设备的 UDID。一旦应用程序获批在 App Store 上发布后，任何人都可以下载并安装应用程序，前提是他们拥有正确版本的 iOS 并满足任何其他要求。

### 查找 UDID##finding-your-udid

您可以使用 iTunes 来检索设备的 UDID。有关检索过程的演示，请参阅[此处](https://WhatsMyUDID.com)。

### 在 Apple Developer Portal 中添加 UDID##add-the-udid-in-the-apple-developer-portal

1. 登录 Apple Developer Program。
2. 导航到 Account（帐户）> Devices（设备）。
3. 单击 Devices（设备）旁边的添加按钮 (+) 以添加新设备。
4. 为设备指定一个可识别的名称，然后在 UDID 字段中输入您的 UDID。
5. 单击 Continue（继续）。
6. 查看注册信息，然后单击 Register（注册）。

## 创建 App ID##create-app-id

1. 登录 Apple Developer Program。
2. 导航到 Account（帐户）> Identifiers（标识符）。
3. 单击 Identifiers（标识符）旁边的添加按钮 (+) 以添加新标识符。
4. 在 Description（描述）中，输入应用程序的名称，不要包含任何特殊字符。
5. 选择 Explicit App ID（显式 App ID）或 Wildcard App ID（通用 App ID）。如果您打算整合特定服务（例如 Game Center 或 In-App Purchases），请创建显式 ID。如果您不需要这些服务，则可以创建通用 App ID，并将其重复用于多个项目中。
6. 选中相应的复选框以启用要使用的应用程序功能。
7. 单击 Continue（继续）。
8. 查看注册信息，然后单击 Register（注册）。

## 创建开发资源调配配置文件##create-a-development-provisioning-profile

1. 登录 Apple Developer Program。
2. 导航到 Account（帐户）> Profiles（配置文件）。
3. 单击 Profiles（配置文件）旁边的添加按钮 (+) 以添加新的配置文件。
4. 在 Development（开发）下，选择要创建的资源调配配置文件的类型，然后单击 Continue（继续）。
5. 选择要用于开发的 App ID，然后单击 Continue（继续）按钮。
6. 选择一个或多个证书，然后单击 Continue（继续）按钮。
7. 选择一个或多个设备，然后单击 Continue（继续）。
8. 输入配置文件名称，然后单击 Generate（生成）。
9. 单击 Download（下载）。

## 配置应用程序以发布到 iOS##configuring-your-app-to-build-for-ios

现在，您应该能够在 Build Automation 中使用以下项目配置 iOS 目标：

* 资源调配配置文件 (.mobileprovision)
* .p12 文件
* .p12 文件的密码
