使用苹果开发者证书在uni-app打包含Critical Alerts功能的entitlements配置不生效

使用苹果开发者证书在uni-app打包含Critical Alerts功能的entitlements配置不生效

开发环境 版本号 项目创建方式
Windows win10专业版22H2 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

手机系统:iOS

手机系统版本号:iOS 17

手机厂商:苹果

手机机型:14 Pro Max

页面类型:vue

vue版本:vue2

打包方式:云端

项目创建方式:HBuilderX

## 示例代码:

```json
"entitlements" : {  
    "com.apple.developer.usernotifications.critical-alerts" : true  
}

操作步骤:

  • 使用带Critical Alerts的证书打包

预期结果:

  • 打包后重新安装出现NSUserNotificationsCriticalAlertsUsageDescription提醒

实际结果:

  • 无提醒,无功能性项

bug描述:

尝试了很多办法,已经通过苹果开发者的Critical Alerts强推送提醒审核,重新生成了打包证书和描述文件,打包后还是看不到强提醒的功能选项,重新安装APP后只弹出NSUserNotificationsUsageDescription提醒,没有NSUserNotificationsCriticalAlertsUsageDescription提醒,已经核对和尝试了很多此修改配置manifest.json,都是实现不了功能选项,请帮看看HBuilderX是否有对entitlements进行过滤等,导致配置未生效


更多关于使用苹果开发者证书在uni-app打包含Critical Alerts功能的entitlements配置不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

该bug反馈内容基本完整但存在关键缺失。BUG描述说明了现象(仅弹出普通通知权限,无Critical Alerts权限请求)和已尝试操作,但未明确entitlements在manifest.json中的具体路径(应位于"plus/distribute/apple/entitlements"下),也未确认苹果开发者后台是否真正启用Critical Alerts权限(需单独申请并通过审核)。代码示例仅展示片段且缺少完整上下文,无法直接验证配置是否正确。复现步骤过于简略(仅"使用带Critical Alerts的证书打包"),缺乏配置、打包、安装的详细流程,无法确保官方人员能复现问题。预期结果合理,但实际结果描述模糊("无功能性项"未明确定义)。
根据知识库,HBuilderX 4.18+支持iOS Capabilities配置(iOS平台Capabilities配置),用户版本4.87符合要求。但Critical Alerts需满足两个条件:1) 苹果开发者账号已获批该权限(需提交理由并通过审核);2) manifest.json中正确配置entitlements且Info.plist需包含NSUserNotificationsCriticalAlertsUsageDescription字段(参考iOS隐私清单配置)。用户可能遗漏后者或权限未生效(苹果审核通过后需数小时同步)。此外,iOS 17对通知权限有严格限制,若设备已授权普通通知,可能不会重复请求关键权限。
建议用户补充:1) manifest.json完整配置结构;2) 苹果开发者后台权限状态截图;3) Info.plist是否手动添加NSUserNotificationsCriticalAlertsUsageDescription。优先检查权限申请状态及Info.plist配置,而非工具过滤问题。 内容为 AI 生成,仅供参考

更多关于使用苹果开发者证书在uni-app打包含Critical Alerts功能的entitlements配置不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


已经更新了配置文件和描述文件,苹果审核邮件通知已经过去含周末共三天了,

苹果截图如附件

bug没人修改吗

根据你的描述,问题可能出在云端打包时 entitlements 配置未正确注入。云端打包流程中,manifest.json 的 entitlements 配置需要被正确解析并写入到最终的 .entitlements 文件中。

首先,请确认你的 manifest.json 配置格式正确。你提供的示例代码是 JSON 片段,但实际配置应位于 manifest.json 的 “ios” -> “distribute” -> “entitlements” 路径下。完整结构示例如下:

{
  "ios": {
    "distribute": {
      "entitlements": {
        "com.apple.developer.usernotifications.critical-alerts": true
      }
    }
  }
}
回到顶部