iOS 的手动代码签名

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

重要提示

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

在您开始之前

必备条件

在开始之前,请确保已做好以下准备:

  • 应用 ID
  • 设备 UDID(仅用于测试和开发目的)
  • 用于为 iOS 代码签名的 macOS 设备

设置好您的 Mac

  1. 安装 Xcode。 详细信息:Xcode
  2. 为 macOS 安装 PowerShell。 详细信息:在 macOS 上安装 PowerShell
  3. 注册 Apple 开发人员计划
  4. 对于组织分发,请注册 Apple Enterprise 开发人员计划

创建应用 ID

  1. 登录到开发人员帐户, https://developer.apple.com 然后选择“ 帐户 ”选项卡。

    帐户选项卡。

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

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

    创建新标识符。

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

    注册新标识符。

  5. 选择类型作为 应用,然后选择 “继续”。

  6. 注册应用 ID

    注册应用 ID。

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

创建分发证书

创建证书签名请求 (CSR)

  1. 在 Mac 上,进入应用程序文件夹 >实用程序> 打开 Keychain Access

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

    从 CA 申请证书。

  3. 填写 证书信息

    • 在“ 用户电子邮件地址 ”字段中,输入 Apple ID 电子邮件地址。
    • 通用名称字段中,输入您的名字。
    • 请求组中,选择保存到磁盘
    • 将文件保存到 Mac。
    • 选择继续

上传并安装证书

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

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

  3. 选择 + 创建新证书。

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

    证书、标识符和配置文件

    备注

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

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

    上载证书。

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

  7. 双击下载的.cer文件,将其安装在密钥链访问中。

  8. 记下证书的名称(通常格式为 iPhone 分发:名称(团队 ID))。 此值是签名所需的代码签名标识。

注册用于测试的设备

备注

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

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

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

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

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

    注册设备。

  5. 选择保存

    提示

    可以通过上传 UDID 列表一次性注册多个设备。

创建 iOS 预配配置文件

  1. 登录到开发人员帐户, https://developer.apple.com 然后选择“ 帐户 ”选项卡。

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

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

  4. 选择临时>继续

    临时。

    备注

    对于生产用途,请选择 App Store 分发方法。

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

    应用 ID。

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

    选择证书。

  7. 选择要在其中安装应用的所有测试设备,然后选择“ 继续”。

    添加设备。

  8. 为配置文件命名并记录名称。

  9. 选择“ 生成 ”并将配置文件下载到 Mac。

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

签署 iOS 存档

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

  2. 对于企业签名:使用 Xcode 打开文件 Distribution-exportOptions.plist ,并将 方法 字段的值更改为 企业

    备注

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

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

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

  5. 使用证书和预配配置文件信息运行 PowerShell 脚本:

    ./SignAndGenerateIPA.ps1 -CodeSigningIdentity "YOUR_CODE_SIGNING_IDENTITY" -ProvisioningProfilePath "PATH_TO_PROVISIONING_PROFILE"
    

    备注

    若要查找 CodeSigningIdentity 值,请右键单击 .mobileprovision 文件,选择“更多信息>预览”。“证书”下查找“名称”字段。

    提示

    ProvisioningProfilePath 是下载的 .mobileprovision 文件的路径。 例如:/Users/username/Downloads/MyProvisioningProfile.mobileprovision

    运行 PowerShell 脚本。

  6. 脚本完成后,将创建一个 .ipa 文件(例如 com.single.wrap.ipa)。

    重要提示

    如果脚本失败,请删除解压缩的文件夹和文件,因为它们可能已损坏。 重试前再次解压缩 iOS-Archive.zip

    IPA 包。

分发应用

使用 Finder 应用在已注册的设备上安装 .ipa 文件。

对于使用 Microsoft Intune 进行企业级分发:

另请参阅