iOS 的代码符号
在本文中,您将了解如何进行 iOS 代码签名。 如果您在创建和构建整合项目时选择了 iOS 作为平台之一,您需要为 iOS 应用签名。
重要
不支持使用 Xcode 对打包的 iOS 移动应用进行数字签名。 请按照以下说明正确签署打包的 iOS 移动应用包。
先决条件
您需要以下信息才能开始:
- 应用 ID
- 设备 UDID(仅用于测试和开发目的)
您还需要一台 macOS 设备来进行 iOS 代码签名。
准备您的 Mac
使用以下配置设置您的 Mac。
- 安装 Xcode。 详细信息:Xcode
- 为 macOS 安装 PowerShell。 详细信息:在 macOS 上安装 PowerShell
- 注册 Apple 开发人员计划
- 要在组织内分发您的应用,您需要注册 Apple 企业开发人员计划。
创建应用 ID
转到 https://developer.apple.com 并选择帐户选项卡,登录您的开发人员帐户。
选择 + 创建新标识符。
选择应用 ID,然后选择继续。
类型选择应用,然后选择继续。
注册应用 ID:
查看并注册 App ID。
创建分发证书
要创建分发证书,先创建一个新的证书签名请求。
创建证书签名请求 (CSR)
在您的 Mac 上,转到应用程序文件夹 > 实用程序 > 打开 Keychain Access。
选择 Keychain Access > 证书助手 > 从证书颁发机构申请证书。
如下所述填写证书信息,然后选择继续。
- 在用户电子邮件地址字段中,输入您的 Apple ID 电子邮件地址以使用此证书进行标识。
- 在通用名称字段中,输入您的名字。
- 在请求组中,选择保存到磁盘。
- 将文件保存到 Mac。
创建分发证书
选择帐户选项卡在 https://developer.apple.com 登录您的开发人员帐户。
-
选择 + 创建新证书。
选择应用商店和临时 > 继续。
备注
如果您有企业开发人员帐户,您可以选择创建企业分发证书。
上载在前面步骤中生成的证书签名请求 (CSR) 文件。
选择继续,将证书下载到 Mac。
双击下载的 .cer 文件安装到 Keychain Access。
记下证书的名称(通常类似于 iPhone Distribution: Name (Team ID))。 此值是需要为签名提供的代码签名标识。
添加需要安装 IPA 的所有设备
备注
仅在您要向外部用户分发该应用时,才需要执行此步骤。 如果该应用仅供内部用户使用,则不需要它。
选择帐户选项卡在 https://developer.apple.com 登录您的开发人员帐户。
选择 + 注册一台或多台设备。
输入设备名称和设备 ID (UDID)。
选择保存。
提示
您还可以通过上载 UDID 列表来同时注册多台设备。
创建 iOS 预配配置文件
转到 https://developer.apple.com 并选择帐户选项卡,登录您的开发人员帐户。
选择 + 创建新配置文件。
选择临时 > 继续。
备注
出于生产测试和开发目的,请使用应用商店分发方法。
选择您之前创建的应用 ID,然后选择继续。
选择您之前创建的证书,然后选择继续。
选择您要安装应用的所有测试设备,然后选择继续。
查看并命名预配配置文件。 记下预配配置文件的名称。
生成配置文件并将其下载到您的 Mac。
双击打开下载的文件 (*.mobileprovision) 将其注册到 Xcode。
签署 iOS 存档
从 App Center 下载并解压缩 iOS-Archive.zip 文件。 这将创建一个以捆绑销售 ID 命名的文件夹。 在下面的示例中,捆绑销售 ID 是 com.single.wrap。
如果使用企业证书签名,请使用 Xcode 打开文件 Distribution-exportOptions.plist,然后将文件内的方法字段更改为企业。
备注
密钥保管库签名不支持企业签名。
打开终端,将目录更改为解压缩的文件夹。
输入
pwsh
在终端启动 PowerShell。使用“CodeSigningIdentity”和“ProvisioningProfilePath”参数的值运行
./SignAndGenerateIPA.ps1
。备注
“CodeSigningIdentity”是在 Apple 开发人员网站创建的证书的名称。 若要查找“CodeSigningIdentity”的值,请右键单击 mobileprovision 文件(这是预配配置文件),然后选择更多信息。 向下滚动,选择预览。 您的“CodeSigningIdentity”值存储在 mobileprovision 文件内证书下面的名称字段中。
提示
“ProvisioningProfilePath”是上一步创建 iOS 预配配置文件中从 Apple 开发人员网站下载的预配配置文件的路径。 例如,此文件可能位于计算机上的 /Users/username/Downloads/MyProvisioningProfile.mobileprovision 中。
脚本完成后,将创建 .ipa 文件,例如 com.single.wrap.ipa。
- 如果命令 ./SignAndGenerateIPA.ps1 失败,则删除解压缩的文件夹和文件,因为它们可能会损坏。 在您再次尝试签名之前,请再次解压缩 iOS-Archive.zip。
使用 Finder 应用在已注册的设备中安装 .ipa 文件。 您还可以将其托管在 App Center 等分发服务上。 要使用 Microsoft Intune 进行分发,请参阅将 iOS/iPadOS 业务线应用添加到 Microsoft Intune。 若要了解有关向 Intune 应用保护服务提供应用访问权限的信息,请参阅向 Intune 应用保护服务提供应用访问权限。