iOS 的代码符号

在本文中,您将了解如何进行 iOS 代码签名。 如果您在创建和构建整合项目时选择了 iOS 作为平台之一,您需要为 iOS 应用签名。

重要

不支持使用 Xcode 对打包的 iOS 移动应用进行数字签名。 请按照以下说明正确签署打包的 iOS 移动应用包。

先决条件

您需要以下信息才能开始:

  • 应用 ID
  • 设备 UDID(仅用于测试和开发目的)

您还需要一台 macOS 设备来进行 iOS 代码签名。

准备您的 Mac

使用以下配置设置您的 Mac。

  1. 安装 Xcode。 详细信息:Xcode
  2. 为 macOS 安装 PowerShell。 详细信息:在 macOS 上安装 PowerShell
  3. 注册 Apple 开发人员计划
  4. 要在组织内分发您的应用,您需要注册 Apple 企业开发人员计划

创建应用 ID

  1. 转到 https://developer.apple.com 并选择帐户选项卡,登录您的开发人员帐户。

    帐户选项卡。

  2. 转到证书、ID 和配置文件 > 标识符

  3. 选择 + 创建新标识符。

    创建新标识符。

  4. 选择应用 ID,然后选择继续

    注册新标识符。

  5. 类型选择应用,然后选择继续

  6. 注册应用 ID

    注册应用 ID。

    1. 说明 - 应用的名称。
    2. 捆绑销售 ID - 选择显式捆绑销售 ID
    3. 输入您在创建整合项目时使用的包 ID。 详细信息:捆绑销售 ID
    4. 启用以下功能:
      • 关联域
      • iCloud
      • NFC 标记读取
      • 推送通知
    5. 选择继续
  7. 查看并注册 App ID。

创建分发证书

要创建分发证书,先创建一个新的证书签名请求。

创建证书签名请求 (CSR)

  1. 在您的 Mac 上,转到应用程序文件夹 > 实用程序 > 打开 Keychain Access

  2. 选择 Keychain Access > 证书助手 > 从证书颁发机构申请证书

    从 CA 申请证书。

  3. 如下所述填写证书信息,然后选择继续

    1. 用户电子邮件地址字段中,输入您的 Apple ID 电子邮件地址以使用此证书进行标识。
    2. 通用名称字段中,输入您的名字。
    3. 请求组中,选择保存到磁盘
    4. 将文件保存到 Mac。

创建分发证书

  1. 选择帐户选项卡在 https://developer.apple.com 登录您的开发人员帐户。

  2. 转到证书、ID 和配置文件 > 证书

    1. 选择 + 创建新证书。

    2. 选择应用商店和临时 > 继续

      证书、标识符和配置文件

      备注

      如果您有企业开发人员帐户,您可以选择创建企业分发证书。

  3. 上载在前面步骤中生成的证书签名请求 (CSR) 文件。

    上载证书。

  4. 选择继续,将证书下载到 Mac。

  5. 双击下载的 .cer 文件安装到 Keychain Access。

  6. 记下证书的名称(通常类似于 iPhone Distribution: Name (Team ID))。 此值是需要为签名提供的代码签名标识。

添加需要安装 IPA 的所有设备

备注

仅在您要向外部用户分发该应用时,才需要执行此步骤。 如果该应用仅供内部用户使用,则不需要它。

  1. 选择帐户选项卡在 https://developer.apple.com 登录您的开发人员帐户。

  2. 转到证书、ID 和配置文件 > 设备

  3. 选择 + 注册一台或多台设备。

  4. 输入设备名称设备 ID (UDID)

    注册设备。

  5. 选择保存

    提示

    您还可以通过上载 UDID 列表来同时注册多台设备。

创建 iOS 预配配置文件

  1. 转到 https://developer.apple.com 并选择帐户选项卡,登录您的开发人员帐户。

  2. 转到证书、ID 和配置文件 > 配置文件

  3. 选择 + 创建新配置文件。

  4. 选择临时 > 继续

    临时。

    备注

    出于生产测试和开发目的,请使用应用商店分发方法。

  5. 选择您之前创建的应用 ID,然后选择继续

    应用 ID。

  6. 选择您之前创建的证书,然后选择继续

    选择证书。

  7. 选择您要安装应用的所有测试设备,然后选择继续

    添加设备。

  8. 查看并命名预配配置文件。 记下预配配置文件的名称。

  9. 生成配置文件并将其下载到您的 Mac。

  10. 双击打开下载的文件 (*.mobileprovision) 将其注册到 Xcode。

签署 iOS 存档

  1. 从 App Center 下载并解压缩 iOS-Archive.zip 文件。 这将创建一个以捆绑销售 ID 命名的文件夹。 在下面的示例中,捆绑销售 ID 是 com.single.wrap

  2. 如果使用企业证书签名,请使用 Xcode 打开文件 Distribution-exportOptions.plist,然后将文件内的方法字段更改为企业

备注

密钥保管库签名不支持企业签名。

  1. 打开终端,将目录更改为解压缩的文件夹。

  2. 输入 pwsh 在终端启动 PowerShell。

  3. 使用“CodeSigningIdentity”和“ProvisioningProfilePath”参数的值运行 ./SignAndGenerateIPA.ps1

    备注

    “CodeSigningIdentity”是在 Apple 开发人员网站创建的证书的名称。 若要查找“CodeSigningIdentity”的值,请右键单击 mobileprovision 文件(这是预配配置文件),然后选择更多信息。 向下滚动,选择预览。 您的“CodeSigningIdentity”值存储在 mobileprovision 文件内证书下面的名称字段中。

    提示

    “ProvisioningProfilePath”是上一步创建 iOS 预配配置文件中从 Apple 开发人员网站下载的预配配置文件的路径。 例如,此文件可能位于计算机上的 /Users/username/Downloads/MyProvisioningProfile.mobileprovision 中。

    运行 PowerShell 脚本。

  4. 脚本完成后,将创建 .ipa 文件,例如 com.single.wrap.ipa

    • 如果命令 ./SignAndGenerateIPA.ps1 失败,则删除解压缩的文件夹和文件,因为它们可能会损坏。 在您再次尝试签名之前,请再次解压缩 iOS-Archive.zip

    IPA 包。

  5. 使用 Finder 应用在已注册的设备中安装 .ipa 文件。 您还可以将其托管在 App Center 等分发服务上。 要使用 Microsoft Intune 进行分发,请参阅将 iOS/iPadOS 业务线应用添加到 Microsoft Intune。 若要了解有关向 Intune 应用保护服务提供应用访问权限的信息,请参阅向 Intune 应用保护服务提供应用访问权限

另请参见