发布用于内部分发的 iOS 应用

内部分发允许 Apple 开发人员企业计划成员在内部向同一组织内的其他成员分发应用。 它的优势在于无需 App Store 审核,且对可安装应用的设备数量没有限制。 但是,Apple 开发人员企业计划成员无权访问 App Store Connect,因此许可证持有人负责分发应用。

分发 iOS 应用需要使用预配配置文件预配应用。 预配配置文件是一种包含了代码签名信息,以及应用程序标识和预期分发机制的文件。

若要分发 .NET Multi-platform App UI (.NET MAUI) iOS 应用,需要生成特定于它的分发预配配置文件 。 此配置文件支持对应用进行数字签名并发布,以便将其安装在 iOS 设备上。 内部分发预配配置文件包含应用 ID 和分发证书。 可以将应用部署到设备以进行测试时使用的相同应用 ID。 但是,如果还没有分发证书,则需要创建分发证书来标识组织。

创建内部分发预配配置文件的过程如下所示:

  1. 创建分发证书。 有关详细信息,请参阅创建分发证书
  2. 创建应用 ID。 有关详细信息,请参阅创建应用 ID
  3. 创建预配配置文件。 有关详细信息,请参阅创建预配配置文件

创建分发证书

分发证书用于确认标识。 在创建分发证书之前,应确保已将 Apple 开发人员帐户添加到 Visual Studio。 有关详细信息,请参阅 Apple 帐户管理

如果还没有分发证书,则只需创建一个分发证书。 必须使用 Apple 开发人员帐户的 Apple ID 创建分发证书。

在 Visual Studio 中创建分发证书:

  1. 在 Visual Studio 中,转到“工具” > “选项” > “Xamarin” > “Apple 帐户”
  2. 在“Apple 开发人员帐户”对话框中,选择一个团队,然后单击“查看详细信息…”按钮。
  3. 在“详细信息”对话框中,单击“创建证书”并选择“iOS 分发”。 将创建新的签名标识,并且会与 Apple 同步,前提是你具有正确的权限。

重要说明

如果 IDE 已配对,构成签名标识的私钥和证书也将导出到 Mac 生成主机上的密钥链访问。 有关详细信息,请参阅与 Mac 配对以进行 iOS 开发

了解证书密钥对

分发配置文件包含证书、关联密钥以及与 Apple 开发人员帐户关联的任何预配配置文件。 分发配置文件有两个版本,一个在 Apple 开发人员帐户中,另一个在本地计算机上。 两者的区别是所含密钥的类型:Apple 开发人员帐户中的配置文件包含与证书关联的所有公钥,而本地计算机上的副本包含所有私钥。 为了使证书生效,密钥对必须匹配。

警告

丢失证书和关联密钥会很麻烦,因为需要撤销现有证书并重新创建预配配置文件。

创建分发配置文件

内部分发预配配置文件使 .NET MAUI iOS 应用能够进行数字签名以供发布。 内部分发预配配置文件包含应用 ID 和分发证书。

创建 App ID

识别正在分发的应用时,需要使用应用 ID。 应用 ID 类似于反向 DNS 字符串,是应用的唯一识别标识,应当与应用的捆绑标识符相同。 可以使用在将应用部署至设备进行测试时使用的相同应用 ID。

有两种类型应用 ID:

  • 通配符。 通过通配符应用 ID 可以使用单个应用 ID 匹配多个应用,其形式通常为 com.domainname.*。 通配符应用 ID 可用于分发多个应用,并且应当用于不启用特定于应用功能的应用。
  • 精确。 显式应用 ID 对单个应用是唯一的,通常采用 com.domainname.myid 的形式。 显式应用 ID 允许分发一个具有匹配捆绑标识符的应用。 显式程序 ID 通常用于启用了应用特定功能的应用,如 Apple Pay 或 Game Center。

有关功能的详细信息,请参阅功能

创建新的应用 ID。

  1. 在 Apple 开发者帐户中,导航到“证书、ID 和配置文件”。

  2. 在“证书、标识符和配置文件”页上,选择“标识符”选项卡

  3. 在“Identifiers”页上,单击 + 按钮以创建新应用 ID。

  4. 在“Register a new identifier”页上,选择“App IDs”单选按钮,然后单击“Continue”按钮:

    创建应用 ID。

  5. 在“Register an App ID”页上,输入说明,然后选择“Explicit”或“Wildcard”捆绑 ID 单选按钮。 然后,以反向 DNS 格式输入应用的捆绑 ID:

    指定应用的捆绑包标识符。

    重要

    输入的捆绑 ID 必须与应用项目中 Info.plist 文件中的捆绑标识符相对应。

    .NET MAUI 应用的捆绑标识符以应用 ID 属性的形式存储在项目文件中。 在 Visual Studio 的“解决方案资源管理器”中,右键单击 .NET MAUI 应用项目,然后选择“属性”。 然后,导航到“MAUI 共享”>“常规”选项卡。“应用 ID”字段列出捆绑标识符。

    更新“应用 ID”字段的值时,Info.plist 中的“捆绑标识符”的值将自动更新。

  6. “注册应用 ID”页上,选择应用使用的任何功能。 必须在此页上和应用项目中的 Entitlements.plist 文件中配置任何功能。 有关详细信息,请参阅功能权利

  7. 在“注册应用 ID”页上,单击“继续”按钮。

  8. 在“注册应用 ID”页上,输入部署详细信息(如果有),然后再单击“继续”按钮。

  9. 在“确认应用 ID”页上,单击“注册”按钮。

创建预配配置文件

创建应用 ID 后,应创建分发预配配置文件。 此配置文件支持对应用进行数字签名并发布,以便将其安装在 iOS 设备上。

要创建分发预配配置文件,请执行以下操作:

  1. 在 Apple 开发人员帐户的“证书、标识符和配置文件”页中,选择“配置文件”选项卡。

  2. 在“配置文件”选项卡中,单击 + 按钮创建新配置文件。

  3. 在“注册新的预配配置文件”页中,选择“内部”单选按钮,然后单击“继续”按钮:

    为内部分发注册预配配置文件。

  4. 在“生成预配配置文件”页的“应用 ID”下拉列表中,选择之前创建的应用 ID,然后单击“继续”按钮:

    选择应用 ID。

  5. “生成预配配置文件”页中,选择对应于分发证书的单选按钮,然后单击“继续”按钮:

    选择分发证书。

  6. “生成预配配置文件”页中,输入预配配置文件的名称,然后单击“生成”按钮:

    生成预置描述文件。

    注意

    记下预配配置文件名称,因为对应用签名时需要用到它。

  7. “生成预配配置文件”页中,可以选择单击“下载”按钮下载预配配置文件。

    注意

    现在无需下载预配配置文件。 你将在 Visual Studio 中执行此操作。

在 Visual Studio 中下载预配配置文件

在 Apple 开发人员帐户中创建分发预配配置文件后,Visual Studio 可以下载它,以便用于对应用进行签名:

  1. 在 Visual Studio 中,转到“工具” > “选项” > “Xamarin” > “Apple 帐户”
  2. 在“Apple 开发人员帐户”对话框中,选择你的团队,然后单击“查看详细信息”。
  3. 在“详细信息”对话框中,验证新配置文件是否出现在“预配配置文件”列表中。 可能需要重启 Visual Studio 以刷新该列表。
  4. 在“详细信息”对话框中,单击“下载所有配置文件”。

预配配置文件在 Windows 上下载,如果 IDE 已配对,则导出到 Mac 生成主机。 有关详细信息,请参阅与 Mac 配对以进行 iOS 开发

发布应用

Visual Studio 可以发布用于内部分发的 .NET MAUI iOS 应用:

  1. 在 Visual Studio 中,确保 IDE 已与 Mac 生成主机配对。 有关详细信息,请参阅与 Mac 配对以进行 iOS 开发

  2. 在 Visual Studio 工具栏中,使用“调试目标”下拉列表选择“iOS 远程设备”,然后选择“远程设备”

    在 Visual Studio 中选择远程设备。

  3. 在 Visual Studio 工具栏中,使用“解决方案配置”下拉列表从调试配置更改为发布配置:

    在 Visual Studio 中选择发布配置。

  4. 在“解决方案资源管理器”中,右键单击 .NET MAUI 应用项目,然后选择“属性”。 然后,导航到“iOS 捆绑签名”选项卡并确保“方案”设置为“手动预配”,“签名标识”设置为“分发(自动)”,并将“预配配置文件”设置为“自动”

    Visual Studio 中适用于 iOS 的捆绑包签名选项卡的屏幕截图。

    这些设置将确保 Visual Studio 将根据 Info.plist 中的捆绑标识符(这与项目文件中应用程序 ID 属性的值相同)选择正确的预配配置文件。 或者,将“签名标识”设置为相应的分发证书,并将“预配配置文件”设置为在 Apple 开发人员帐户中创建的配置文件

  5. 在“解决方案资源管理器”中,右键单击 .NET MAUI 应用项目,然后选择“发布...”

    在 Visual Studio 中选择“发布”菜单项。

    “存档管理器”将打开,Visual Studio 将开始存档应用程序包:

    Visual Studio 中存档管理器的屏幕截图。

    存档过程使用你在“iOS 捆绑包签名”选项卡中指定的证书和预配配置文件对应用进行签名,以用于所选解决方案配置。

  6. 在存档管理器中,存档完成后,请确保已选择档案,然后选择“分发...”按钮开始打包应用以供分发的过程:

    存档完成后 Visual Studio 中存档管理器的屏幕截图。

    将显示“分发 - 选择频道”对话框。

  1. 在“分发 - 选择渠道”对话框中,选择“企业”按钮:

    在分发对话框中选择分发通道的屏幕截图。

  2. 在“分发 - 签名标识”对话框中,选择签名标识和预配配置文件:

    在分发对话框中选择签名标识的屏幕截图。

    注意

    应使用为应用和所选分发频道创建的签名标识和预配配置文件。

  3. 在“分发 - 签名标识”对话框中,选择“另存为”按钮并输入文件名。 然后,应用将重新签名并发布到文件系统上的 .ipa 文件。

有关使用命令行接口 (CLI) 发布 iOS 应用的信息,请参阅使用命令行发布 iOS 应用

内部应用可以通过安全网站或移动设备管理 (MDM).进行分发。 这两种方法都要求应用准备好分发,其中包括准备清单。 有关详细信息,请参阅 support.apple.com 上的将专有内部应用分发到 Apple 设备