临时分发主要用于在众多人员中测试应用,并可用于 Apple 开发人员计划和 Apple 开发人员企业计划。 临时分发的另一个用例是,在无法选择使用 App Store Connect 时在公司内部分发。
临时分发具有不需要 App Store 批准的优势,并且应用随 Apple Configurator 一起安装。 但是,对于开发和分发,每个成员身份年度限制为 100 台设备,并且必须将设备添加到 Apple 开发人员帐户。
分发 iOS 应用需要使用预配配置文件预配应用。 预配配置文件是一种包含了代码签名信息,以及应用程序标识和预期分发机制的文件。
若要分发 .NET Multi-platform App UI (.NET MAUI) iOS 应用,需要生成特定于它的分发预配配置文件 。 此配置文件支持对应用进行数字签名并发布,以便将其安装在 iOS 设备上。 临时分发预配配置文件包含应用 ID、分发证书和可安装应用的设备列表。 可以将应用部署到设备以进行测试时使用的相同应用 ID。 但是,如果还没有分发证书,则需要创建分发证书来标识自己或组织。
创建临时分发预配配置文件的过程如下所示:
- 创建分发证书。 有关详细信息,请参阅创建分发证书。
- 将设备添加到 Apple 开发人员帐户。 有关详细信息,请参阅添加设备。
- 创建应用 ID。 有关详细信息,请参阅创建应用 ID。
- 创建预配配置文件。 有关详细信息,请参阅创建预配配置文件。
创建分发证书
分发证书用于确认标识。 在创建分发证书之前,应确保已将 Apple 开发人员帐户添加到 Visual Studio。 有关详细信息,请参阅 Apple 帐户管理。
如果还没有分发证书,则只需创建一个分发证书。 必须使用 Apple 开发人员帐户的 Apple ID 创建分发证书。
在 Visual Studio 中创建分发证书:
- 在 Visual Studio 中,转到“工具” > “选项” > “Xamarin” > “Apple 帐户”。
- 在“Apple 开发人员帐户”对话框中,选择一个团队,然后单击“查看详细信息…”按钮。
- 在“详细信息”对话框中,单击“创建证书”并选择“iOS 分发”。 将创建新的签名标识,并且会与 Apple 同步,前提是你具有正确的权限。
重要说明
如果 IDE 已配对,构成签名标识的私钥和证书也将导出到 Mac 生成主机上的密钥链访问。 有关详细信息,请参阅与 Mac 配对以进行 iOS 开发。
了解证书密钥对
分发配置文件包含证书、关联密钥以及与 Apple 开发人员帐户关联的任何预配配置文件。 分发配置文件有两个版本,一个在 Apple 开发人员帐户中,另一个在本地计算机上。 两者的区别是所含密钥的类型:Apple 开发人员帐户中的配置文件包含与证书关联的所有公钥,而本地计算机上的副本包含所有私钥。 为了使证书生效,密钥对必须匹配。
警告
丢失证书和关联密钥会很麻烦,因为需要撤销现有证书并重新创建预配配置文件。
创建分发配置文件
临时分发预配配置文件支持对 .NET MAUI iOS 应用进行数字签名以供发布,以便可以将其安装在特定的 iOS 设备上。 临时分发预配配置文件包含应用 ID、分发证书和可安装应用的设备列表。 要支持的设备必须运行 Xcode 支持的 iOS 版本。
添加设备
创建预配配置文件时,该配置文件必须包括可以运行应用的设备。 选择要添加到预配配置文件的设备前,必须先将设备添加到 Apple 开发人员帐户。 添加设备的步骤如下:
使用 USB 电缆将要预配的设备连接到本地 Mac。
打开 Xcode,并导航至“Window > Devices and Simulators”。
在 Xcode 中,选择“Devices”选项卡,然后从已连接的设备列表中选择设备。
在 Xcode 中,将“Identifier”值复制到剪贴板:
在“Register a New Device”页上,设置正确的“Platform”,并为新设备命名。 然后,将剪贴板中的标识符粘贴到“Device ID (UDID)”字段,并单击“Continue”:
在“Register a New Device”页上,查看信息,然后单击“Register”。
对要在其上部署 .NET MAUI iOS 应用的任何 iOS 设备重复上述步骤。
创建 App ID
识别正在分发的应用时,需要使用应用 ID。 应用 ID 类似于反向 DNS 字符串,是应用的唯一识别标识,应当与应用的捆绑标识符相同。 可以使用在将应用部署至设备进行测试时使用的相同应用 ID。
有两种类型应用 ID:
- 通配符。 通过通配符应用 ID 可以使用单个应用 ID 匹配多个应用,其形式通常为
com.domainname.*
。 通配符应用 ID 可用于分发多个应用,并且应当用于不启用特定于应用功能的应用。 - 精确。 显式应用 ID 对单个应用是唯一的,通常采用
com.domainname.myid
形式。 显式应用 ID 允许分发一个应用,其中包含一个匹配的捆绑标识符。 显式应用 ID 通常用于启用特定于应用功能的应用,例如 Apple Pay 或 Game Center。 有关功能的详细信息,请参阅功能。
创建新的应用 ID。
在 Apple 开发者帐户中,导航到“证书、ID 和配置文件”。
在“证书、标识符和配置文件”页上,选择“标识符”选项卡。
在“Identifiers”页上,单击 + 按钮以创建新应用 ID。
在“Register a new identifier”页上,选择“App IDs”单选按钮,然后单击“Continue”按钮:
在“Register a new identifier”页上,单击“Continue”,然后选择“App”:
在“注册应用 ID”页上,输入说明,然后选择“显式”或“通配符”捆绑 ID 单选按钮。 然后,以反向 DS 格式输入应用的捆绑 ID:
重要
输入的捆绑 ID 必须与应用项目中 Info.plist 文件中的捆绑标识符相对应。
.NET MAUI 应用的捆绑标识符以应用 ID 属性的形式存储在项目文件中。 在 Visual Studio 的“解决方案资源管理器”中,右键单击 .NET MAUI 应用项目,然后选择“属性”。 然后,导航到“MAUI 共享”>“常规”选项卡。“应用 ID”字段列出捆绑标识符。
更新“应用 ID”字段的值时,Info.plist 中的“捆绑标识符”的值将自动更新。
在“注册应用 ID”页上,选择应用使用的任何功能。 必须在此页上和应用项目中的 Entitlements.plist 文件中配置任何功能。 有关详细信息,请参阅功能和权利。
在“注册应用 ID”页上,单击“继续”按钮。
在“确认应用 ID”页上,单击“注册”按钮。
创建预配配置文件
创建应用 ID 后,应创建分发预配配置文件。 此配置文件支持对应用进行数字签名并发布,以便将其安装在 iOS 设备上。
若要为临时分发创建预配配置文件,请执行以下操作:
在 Apple 开发人员帐户的“证书、标识符和配置文件”页中,选择“配置文件”选项卡。
在“配置文件”选项卡中,单击 + 按钮创建新配置文件。
在“注册新的预配配置文件”页中,单击“继续”按钮之前,选择“临时”单选按钮:
在“生成预配配置文件”页的“应用 ID”下拉列表中,选择之前创建的应用 ID,然后选择是否创建脱机配置文件,然后单击“继续”按钮:
在“生成预配配置文件”页中,选择对应于分发证书的单选按钮,然后单击“继续”按钮:
在“生成预配配置文件”页中,选择将安装应用的设备,然后单击“继续”按钮。
在“生成预配配置文件”页中,输入预配配置文件的名称,然后单击“生成”按钮:
注意
记下预配配置文件名称,因为对应用签名时需要用到它。
在“生成预配配置文件”页中,可以选择单击“下载”按钮下载预配配置文件。
注意
现在无需下载预配配置文件。 你将在 Visual Studio 中执行此操作。
在 Visual Studio 中下载预配配置文件
在 Apple 开发人员帐户中创建分发预配配置文件后,Visual Studio 可以下载它,以便用于对应用进行签名:
- 在 Visual Studio 中,转到“工具” > “选项” > “Xamarin” > “Apple 帐户”。
- 在“Apple 开发人员帐户”对话框中,选择你的团队,然后单击“查看详细信息”。
- 在“详细信息”对话框中,验证新配置文件是否出现在“预配配置文件”列表中。 可能需要重启 Visual Studio 以刷新该列表。
- 在“详细信息”对话框中,单击“下载所有配置文件”。
预配配置文件在 Windows 上下载,如果 IDE 已配对,则导出到 Mac 生成主机。 有关详细信息,请参阅与 Mac 配对以进行 iOS 开发。
发布应用
Visual Studio 可以发布用于临时分发的 .NET MAUI iOS 应用:
在 Visual Studio 中,确保 IDE 已与 Mac 生成主机配对。 有关详细信息,请参阅与 Mac 配对以进行 iOS 开发。
在 Visual Studio 工具栏中,使用“调试目标”下拉列表选择“iOS 远程设备”,然后选择“远程设备”:
在 Visual Studio 工具栏中,使用“解决方案配置”下拉列表从调试配置更改为发布配置:
在“解决方案资源管理器”中,右键单击 .NET MAUI 应用项目,然后选择“属性”。 然后,导航到“iOS 捆绑签名”选项卡并确保“方案”设置为“手动预配”,“签名标识”设置为“分发(自动)”,并将“预配配置文件”设置为“自动”:
这些设置将确保 Visual Studio 将根据 Info.plist 中的捆绑标识符(这与项目文件中应用程序 ID 属性的值相同)选择正确的预配配置文件。 或者,将“签名标识”设置为相应的分发证书,并将“预配配置文件”设置为在 Apple 开发人员帐户中创建的配置文件。
在“解决方案资源管理器”中,右键单击 .NET MAUI 应用项目,然后选择“发布...”:
“存档管理器”将打开,Visual Studio 将开始存档应用程序包:
存档过程使用你在“iOS 捆绑包签名”选项卡中指定的证书和预配配置文件对应用进行签名,以用于所选解决方案配置。
在存档管理器中,存档完成后,请确保已选择档案,然后选择“分发...”按钮开始打包应用以供分发的过程:
将显示“分发 - 选择频道”对话框。
在“分发 - 选择频道”对话框中,选择“临时”按钮:
在“分发 - 签名标识”对话框中,选择签名标识和预配配置文件:
注意
应使用为应用和所选分发频道创建的签名标识和预配配置文件。
在“分发 - 签名标识”对话框中,选择“另存为”按钮并输入文件名。 然后,应用将重新签名并发布到文件系统上的 .ipa 文件。
然后,可以使用 Apple Configurator 分发应用。 有关详细信息,请参阅 support.apple.com 上的 Apple Configurator 用户指南。
有关使用命令行接口 (CLI) 发布 iOS 应用的信息,请参阅使用命令行发布 iOS 应用。