相关文章推荐
聪明的海龟  ·  4.抽象类-接口-泛型 · ...·  1 年前    · 

向用户分发 iOS 应用的最常见方法是通过App Store。 应用通过名为 App Store Connect 的联机工具提交到 App Store 。 只有属于 Apple 开发人员计划的开发人员才能访问此工具。 Apple 开发人员企业计划成员没有访问权限。 提交到App Store的所有应用都需要 Apple 的批准。

分发 iOS 应用要求使用 预配配置文件 预配应用。 预配配置文件是包含代码签名信息的文件,以及应用的标识及其预期分发机制。

若要在 iOS 应用) 分发 .NET 多平台应用 UI (.NET MAUI,需要生成特定于它的 分发预配配置文件 。 此配置文件允许对应用进行数字签名以供发布,以便可以将其安装在 iOS 设备上。 分发预配配置文件包含应用 ID 和分发证书。 可以使用将应用部署到设备进行测试时所用的同一应用 ID。 但是,如果你还没有分发证书,则需要创建一个分发证书来标识你自己或你的组织。

创建App Store分发预配配置文件的过程如下:

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

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

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

    若要创建分发证书,请执行以下操作:

  • 在 Visual Studio 中,转到 “工具 > 选项 > ”“Xamarin > Apple 帐户 ”。
  • “Apple 开发人员帐户 ”对话框中,选择一个团队,然后单击“ 查看详细信息...” 按钮。
  • “详细信息 ”对话框中,单击“ 创建证书 ”并选择“ iOS 分发 ”。 将创建新的签名标识,并将与 Apple 同步,前提是你具有正确的权限。
  • 构成签名标识的私钥和证书也将导出到 Mac 生成主机上的 密钥链访问 ,前提是 IDE 与它配对。 有关详细信息,请参阅 与 Mac 配对进行 iOS 开发

  • 在 Visual Studio for Mac中,转到 Visual Studio > 首选项>发布 > Apple 开发人员帐户
  • “Apple 开发人员帐户” 窗口中,选择一个团队,然后单击“ 查看详细信息...” 按钮。
  • “详细信息 ”窗口中,单击“ 创建证书 ”,然后选择“ Apple 分发 ”或“ iOS 分发 ”。 将创建新的签名标识,并将与 Apple 同步,前提是你具有正确的权限。
  • 了解证书密钥对

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

    丢失证书和关联的密钥可能会造成难以置信的干扰,因为它需要撤销现有证书并重新创建预配配置文件。

    创建分发配置文件

    分发预配配置文件允许对 .NET MAUI iOS 应用进行数字签名以供发布,以便它可以安装在 iOS 设备上。 分发预配配置文件包含应用 ID 和分发证书。

    创建应用 ID

    需要应用 ID 才能标识要分发的应用。 应用 ID 类似于反向 DNS 字符串,该字符串唯一标识应用,并且应与应用的捆绑标识符相同。 可以使用将应用部署到设备进行测试时所用的同一应用 ID。

    应用 ID 有两种类型:

  • 通配符。 通配符应用 ID 允许使用单个应用 ID 来匹配多个应用,并且通常采用 格式 com.domainname.* 。 通配符应用 ID 可用于分发多个应用,并且应该用于未启用特定于应用的功能的应用。
  • 明确。 显式应用 ID 对于单个应用是唯一的,通常采用 格式 com.domainname.myid 。 显式应用 ID 允许分配一个具有匹配捆绑标识符的应用。 显式应用 ID 通常用于启用特定于应用的功能的应用,例如 Apple Pay 或 Game Center。 有关功能的详细信息,请参阅 功能
  • 创建新的应用 ID:

  • 在 Apple 开发人员帐户中,导航到 “证书、ID 配置文件& ”。

  • “证书、标识符 & 配置文件 ”页上,选择“ 标识符 ”选项卡。

  • “标识符 ”页上,单击 + 按钮以创建新的应用 ID。

  • “注册新标识符 ”页上,选择“ 应用 ID ”单选按钮,然后单击“ 继续 ”按钮:

  • “注册新标识符 ”页上,选择“ 应用 ”,然后单击“ 继续 ”按钮:

  • “注册应用 ID ”页上,输入说明,然后选择“ 显式 ”或“ 通配符 捆绑包 ID”单选按钮。 然后,以反向 DS 格式输入应用的捆绑 ID:

    .NET MAUI 应用的捆绑标识符作为 应用程序 ID 属性存储在项目文件中:

  • 在 Visual Studio 的 解决方案资源管理器 右键单击 .NET MAUI 应用项目,然后选择 “属性 ”。 然后,导航到 MAUI 共享 > 常规 选项卡。“ 应用程序 ID” 字段列出捆绑标识符。
  • 在 Visual Studio for Mac,在 “解决方案窗口” 中,右键单击 .NET MAUI 应用项目,然后选择“ 属性 ”。 然后,在 “项目属性” 窗口中,选择“ 生成 > 应用信息 ”选项卡。“ 应用程序 ID” 字段列出捆绑标识符。
  • 更新 “应用程序 ID” 字段的值时, Info.plist 捆绑标识符 的值将自动更新。

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

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

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

    创建预配配置文件

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

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

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

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

  • “注册新的预配配置文件” 页中,选择 “App Store ”单选按钮,然后单击“ 继续 ”按钮:

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

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

  • “生成预配配置文件 ”页中,在单击“ 生成 ”按钮之前,输入预配配置文件的名称:

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

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

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

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

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

  • 在 Visual Studio 中,转到 “工具 > 选项 > ”“Xamarin > Apple 帐户 ”。
  • “Apple 开发人员帐户 ”对话框中,选择团队并单击“ 查看详细信息 ”。
  • 在“ 详细信息 ”对话框中,验证新配置文件是否显示在 “预配配置文件” 列表中。 可能需要重启 Visual Studio 以刷新该列表。
  • 在“ 详细信息 ”对话框中,单击“ 下载所有配置文件 ”。
  • 预配配置文件在 Windows 上下载,如果 IDE 已与 Mac 生成主机配对,则会导出到 Mac 生成主机。 有关详细信息,请参阅 与 Mac 配对进行 iOS 开发

  • 在“Visual Studio for Mac”中,转到 “Visual Studio > 首选项”“>发布 > Apple 开发人员帐户 ”。
  • “Apple 开发人员帐户” 窗口中,选择团队并单击“ 查看详细信息 ”。
  • “详细信息 ”窗口中,验证新配置文件是否显示在 “预配配置文件” 列表中。 可能需要重启Visual Studio for Mac才能刷新列表。
  • 在“ 详细信息 ”对话框中,单击“ 下载所有配置文件 ”。
  • 开发预配配置文件现在可供使用。

    Visual Studio 可以发布用于App Store分发的 .NET MAUI iOS 应用,并将其上传到App Store。 但是,在将应用上传到App Store必须:

  • 在 App Store Connect 中为要上传到App Store的应用创建记录。 此记录包括App Store中显示的有关应用的所有信息,以及通过分发过程管理应用所需的所有信息。 有关详细信息,请参阅在 developer.apple.com 上创建应用记录
  • 创建特定于应用的密码。 有关生成特定于应用的密码的信息,请参阅在 support.apple.com 上使用 特定于应用的密码使用 Apple ID 登录到 应用。
  • 有关使用命令行接口 (CLI) 发布 iOS 应用的信息,请参阅 使用命令行发布 iOS 应用

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

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

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

    存档管理器 将打开,Visual Studio 将开始存档应用捆绑包:

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

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

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

  • “分发 - 签名标识 ”对话框中,选择“ 另存为 ”按钮或“ 上传到应用商店 ”按钮。 通过 “另存为 ”按钮,可以在重新签名应用并将其发布到文件系统上的 .ipa 文件之前输入文件名,以便以后通过 Transporter 等应用上传到App Store。 “ 上传到应用商店 ”按钮将重新对应用进行签名并将其发布到 .ipa 文件,然后再将其上传到App Store。

  • 如果选择“ 上传到应用商店 ”按钮,则 Visual Studio 创建 .ipa 文件后,将显示“ 上传到存储凭据 ”对话框。 在 “上传到存储凭据 ”对话框中,输入 Apple ID 和特定于应用的密码,然后选择“ 确定” 按钮:

  • “解决方案窗口” 中,右键单击 .NET MAUI 应用项目,然后选择“ 属性”。 然后,在“ 项目属性” 窗口中,选择“ 生成 > iOS > 捆绑签名 ”选项卡,并确保将 “签名标识 ”设置为 “分发 (自动) ”,并将 “预配配置文件 ”设置为“ 自动 ”或应用 (分发通道,例如 “App Store (自动) ) :

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

    选择“ 确定” 按钮关闭“ 项目属性” 窗口。

  • “解决方案窗口” 中,右键单击 .NET MAUI 应用项目,然后选择 “存档以发布 ”:

    Visual Studio for Mac将开始存档应用捆绑包,并且可以在 “存档 ”窗口中监视进度。 存档过程使用在 “iOS 捆绑签名 ”选项卡中为所选解决方案配置指定的证书和预配配置文件对应用进行签名。 存档过程成功完成后,将打开“ 存档 ”选项卡。

  •