排查 Power Apps 中包装功能的问题

本文可帮助你解决 Microsoft Power Apps 中包装功能最常见的问题。

问题 1 - 包装生成失败

如果包装生成失败,可以执行以下步骤来解决此问题。

步骤 1:验证图像是否为 PNG 格式

确保换行中使用的图像采用 PNG 格式。 以包装方式使用除 PNG 以外的任何格式的图像都会导致生成失败。 使用图像转换器将图像另存为 .png 文件,或确保原始图像文件采用 PNG 格式。

重要

手动将图像文件扩展名从 .jpeg 或任何其他格式更改为 .png 不会自动将图像重新格式化为 PNG 格式。

步骤 2:验证是否已正确配置 App Center

应用中心链接必须创建为组织中的应用,而不是独立应用。 以下屏幕截图显示了如何在包装向导中创建新组织。

显示如何在包装向导中创建新的应用中心位置的屏幕截图。

有关如何在包装向导中自动创建新位置的详细信息,请参阅“使用向导Create适用于 iOS 和 Android 的本机移动应用”部分中的步骤 5:管理输出

步骤 3:验证密钥保管库配置是否正确

确保已创建 Azure 服务主体,并正确添加服务主体角色。 有关详细信息,请参阅使用向导Create适用于 iOS 和 Android 的本机移动应用中的步骤 1 和 2。

确保密钥保管库包含适用于 iOS 和/或 Android 的所有必需证书、机密和标记:

  • iOS:两个标记、一个证书和一个机密
  • Android:一个标记和一个证书

有关详细信息,请参阅在 Power Apps 中包装Create Azure 密钥保管库

步骤 4:如果具有所有正确的配置,请重试

如果包装生成在验证包装项目具有所有正确的配置后仍然失败,请参阅本文包装 中的其他问题 部分。

问题 2 - 我的应用禁用了“包装”按钮

只能包装具有编辑权限的应用。 确保对要包装的应用具有编辑权限,然后重试。

问题 3 - 无法保存我的项目或触发包装生成

若要解决此问题,可以:

  • 更新到最新的包装解决方案版本,然后重试。
  • 确保没有 UI 验证错误阻止 “保存”“生成” 提交。

问题 4 - 无法在设备上安装包装的移动应用

请确保已对输出的应用程序进行签名。 可以通过配置密钥保管库并在生成触发时提供密钥保管库或手动签名来对其进行签名。 有关代码签名的详细信息,请参阅:

验证移动设备是否满足这些 最低要求

问题 5 - 无法登录到包装的移动应用或看不到数据

如果无法登录到包装的移动应用,请验证:

  • Microsoft Entra应用已正确配置。

  • 已正确添加应用的所有 API 权限。 有关如何查看和配置应用的 API 权限的详细信息,请参阅以下屏幕截图和 配置 API 权限

    显示应用的 API 权限的屏幕截图。

  • 脚本 Add-AdminAllowedThirdPartyApps 已成功运行。 有关详细信息,请参阅 允许在环境中注册的应用

  • Microsoft Entra应用类型为多租户。 在Microsoft Entra应用的“身份验证”选项卡下,支持的帐户类型应为任何组织目录中的帐户 (任何Microsoft Entra目录 - 多租户)

  • 已为 iOS 和 Android 创建了适当的重定向 URI。 对于 Android,请确认已正确提供哈希。 有关配置重定向 URI 的详细信息,请参阅 配置平台设置

问题 6 - Power Apps 的 Azure 密钥保管库中的错误

以下 Azure 密钥保管库错误可能会在 Power Apps 的包装中显示,可以进行纠正。

错误代码1000118

错误代码 说明
1000118 找不到默认订阅或缺少访问权限

注意

自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模块已弃用。 若要了解详细信息,请阅读 弃用更新。 在此日期之后,对这些模块的支持仅限于 Microsoft Graph PowerShell SDK 和安全修补程序的迁移帮助。 弃用的模块将继续运行到 2025 年 3 月 30 日。

建议迁移到 Microsoft Graph PowerShell,以便与以前为 Azure AD) Microsoft Entra ID (交互。 有关常见的迁移问题,请参阅 迁移常见问题解答注意: MSOnline 1.0.x 版可能会在 2024 年 6 月 30 日之后遇到中断。

  1. 确保 Azure 密钥保管库位于租户 的默认订阅中。

  2. 以管理员身份在 PowerShell 中运行以下命令:

    Connect-AzureAD -TenantId <your tenant ID>
    
    New-AzureADServicePrincipal -AppId 4e1f8dc5-5a42-45ce-a096-700fa485ba20 -DisplayName "Wrap KeyVault Access App"
    
  3. Azure 门户,转到默认订阅。 在“访问控制 (IAM) ”页上,向表示应用的服务主体添加读者角色分配,例如包装 KeyVault Access 应用。 请确保它位于 订阅的 IAMKeyvault 的 IAM 中。 步骤如下:

    1. 转到“访问控制 (IAM) ”选项卡,然后选择“添加”菜单按钮下的“添加角色分配”选项。

      显示“访问控制 (IAM) ”选项卡中的“添加角色分配”选项的屏幕截图。

    2. 选择“ 作业函数角色 ”选项卡,并确保选择了 “读者 ”角色。 然后选择顶部菜单上的“ 成员 ”选项卡。

      显示顶部菜单上的“成员”选项卡的屏幕截图。

    3. 搜索“成员”选项卡上的“包装 KeyVault 访问应用”。

      显示如何搜索“包装 KeyVault Access 应用”的屏幕截图。

    4. 选择“ 包装 KeyVault Access 应用 ”,然后选择选项卡底部的“ 审阅 + 分配 ”按钮,为其分配 “读者” 角色。

      显示如何分配读取者角色以包装 KeyVault Access 应用的屏幕截图。

错误代码1000119

错误代码 说明
1000119 Keyvault 不存在,或者 Keyvault 缺少访问权限
  1. 验证 Azure 密钥保管库是否在租户 的默认订阅中。

  2. 请确保在创建密钥保管库时选择了“ 保管库访问策略 ”选项。

    选择“访问配置”选项卡下的“保管库访问策略”选项。

  3. 以管理员身份在 PowerShell 中运行以下命令:

     Connect-AzureAD -TenantId <your tenant ID>
    
    New-AzureADServicePrincipal -AppId 4e1f8dc5-5a42-45ce-a096-700fa485ba20 -DisplayName "Wrap KeyVault Access App"
    
  4. Azure 门户,转到默认订阅。 在“访问控制 (IAM) ”页上,向表示应用的服务主体添加读者角色分配,例如包装 KeyVault Access 应用。 请确保它位于 订阅的 IAMKeyvault 的 IAM 中。 步骤如下:

    1. 转到“访问控制 (IAM) ”选项卡,然后选择“添加”菜单按钮下的“添加角色分配”选项。

      显示“访问控制 (IAM) ”选项卡中的“添加角色分配”选项的屏幕截图。

    2. 选择“ 作业函数角色 ”选项卡,并确保选择了 “读者 ”角色。 然后选择顶部菜单上的“ 成员 ”选项卡。

      显示顶部菜单上的“成员”选项卡的屏幕截图。

    3. 搜索“成员”选项卡上的“包装 KeyVault 访问应用”。

      显示如何搜索“包装 KeyVault Access 应用”的屏幕截图。

    4. 选择“ 包装 KeyVault Access 应用 ”,然后选择选项卡底部的“ 审阅 + 分配 ”按钮,为其分配 “读者” 角色。

      显示如何分配读取者角色以包装 KeyVault Access 应用的屏幕截图。

  5. 将访问策略添加到 Azure 密钥保管库。

    显示如何为 Azure 密钥保管库添加访问策略的屏幕截图。

    显示如何查看和创建保管库访问策略的屏幕截图。

错误代码1000120

错误代码 说明
1000120 在密钥保管库上找不到组织 ID 标记
  1. 转到 Power Platform 管理中心,选择“ 环境 ”,然后选择包装项目所在的环境。

    显示 Power Platform 管理中心中的“环境”选项卡的屏幕截图。

  2. 复制 组织 ID

    显示可在 Power Platform 管理中心的环境中找到的组织 ID 的屏幕截图。

  3. Azure 门户的密钥保管库中,转到“标记”,创建名为“organization-id”的新标记,并将组织 ID 添加到此标记。

    显示如何将组织 ID 添加到 Azure 门户 中的标记的屏幕截图。

错误代码1000121

错误代码 说明
1000121 Android 密钥存储无效。 缺少标记和/或证书
  1. 导入 Android 证书

    显示如何导入 Android 证书的屏幕截图。

    显示如何创建 Android 证书的屏幕截图。

  2. 证书添加新标记

    • 标记名称应基于在包装项目中使用的捆绑包 ID。 例如,如果已包装应用的 捆绑 IDcom.testApp.wrap,则新的 标记名称 应为 com.testApp.wrap.keystore

    • 标记值应对应于在上一步中上传证书文件时为证书选择的名称。 例如,如果 证书 名为 AndroidWrapCertificate,则 Tag 值 的值也应为 AndroidWrapCertificate

    显示如何创建证书标记的屏幕截图。

错误代码1000122

错误代码 说明
1000122 iOS 证书无效
  1. 导入 iOS 证书

    显示如何导入 iOS 证书的屏幕截图。

    显示如何创建 iOS 证书的屏幕截图。

  2. 证书添加新标记

    • 标记名称应基于在包装项目中使用的捆绑包 ID。 例如,如果已包装应用的 捆绑 IDcom.testApp.wrap,则新的 标记名称 应为 com.testApp.wrap.cert

    • 标记值应对应于在上一步中上传证书文件时为证书选择的名称。 例如,如果 证书 名为 iOSCertificate1,则 Tag 值 的值也应为 iOSCertificate1

    显示如何为 iOS 创建证书标记的屏幕截图。

错误代码1000123

错误代码 说明
1000123 iOS 配置文件无效
  1. 预配配置文件 作为 机密导入。

  2. 预配配置文件添加新标记

    • 标记名称应基于在包装项目中使用的捆绑包 ID。 例如,如果已包装应用的 捆绑 IDcom.testApp.wrap,则新的 标记名称 应为 com.testApp.wrap.profile

    • 标记值应与在上一步中上传 povisioning 配置文件时为机密选择的名称相对应。 例如,如果 机密 名为 iOSProvisioningProfileSecret,则 Tag 值 的值也应为 iOSProvisioningProfileSecret

    显示如何为 iOS 预配配置文件机密创建标记的屏幕截图。

Power Apps 包装中的其他问题

对于所有其他问题,或者如果在执行这些步骤后问题仍然存在,请参阅本文后面的 后续步骤 ,通过支持请求报告问题。 需要提供重现视频和/或屏幕截图,以及可通过以下方式获取的会话 ID:

  • 在登录屏幕上,转到右下角以选择齿轮图标,然后选择“ 会话详细信息”。
  • 打开应用后,点击并按住屏幕上,然后选择“ 会话详细信息”。

后续步骤

如果本文中未列出你的问题,可以 搜索更多支持资源,或联系 Microsoft 支持人员。 有关详细信息,请参阅 获取帮助 + 支持