如上面描述
- 发布:2026-03-23 14:21
- 更新:2026-03-23 14:39
- 阅读:28
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 14.7.4 (23H420)
HBuilderX类型: 正式
HBuilderX版本号: 5.04
手机系统: iOS
手机系统版本号: iOS 26
手机厂商: 苹果
手机机型: ios
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
希望打包正确
希望打包正确
实际结果:
现在上传的测试证书打出来的包是生产的
现在上传的测试证书打出来的包是生产的
bug描述:
打包时选择的测试证书,但是打包完上传蒲公英变成生产的了(如图),已经查验过证书是没问题的,type是Development
但是检查打完的包就不对,检验步骤如下:
1、unzip /Users/你的用户名/Desktop/你的包名.ipa -d /Users/你的用户名/Desktop/ipa_temp
2、cd /Users/你的用户名/Desktop/ipa_temp/Payload/你的App名称.app
3、codesign -d --entitlements - .
get-task-allow = true → 测试包(Ad Hoc/Enterprise);false → 生产包(App Store);
【最终输出结果是false】
这证明跟蒲公英没有关系,这么多年第一次出现这个问题,自从更新完5.04的hbuilder,之前是没问题的,同样的证书,更新完5.04的hbuilder第一次打包就出现这个问题,请尽快查验
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
这是一个高质量且内容完整的bug反馈。作为DCloud官方人员,我对该反馈的评审意见如下:
1. Bug反馈完整性评估
内容完整性:优秀
- 标题:清晰指明问题(云打包iOS测试证书被识别为生产证书)
- 描述:详细描述了问题现象,明确指出版本关联性(HBuilderX 5.04更新后出现)
- 技术验证:提供了专业的验证方法(通过
codesign -d --entitlements检查get-task-allow值),这是判断iOS包类型(Development/Ad Hoc vs App Store)的标准技术方案 - 环境信息:完整提供了Mac版本(14.7.4)、HBuilderX版本(5.04正式版)、iOS版本(26)、Vue版本(Vue2)
- 复现步骤:提供了可操作的验证命令,便于官方复现确认
2. Bug成立性分析
初步判断:Bug成立,需优先排查
根据知识库中关于iOS证书配置的说明,Development证书应当用于开发测试,且get-task-allow应为true。用户反馈的现象(测试证书打出生产包特征)与预期行为严重不符。
关键疑点:
- 用户明确提到"自从更新完5.04的hbuilder,之前是没问题的",表明这是版本回归问题
- 本地验证证书类型为Development,但云端打包后entitlements显示
get-task-allow=false,说明云打包服务器端可能存在证书类型识别或配置写入的错误
建议排查方向:
- 检查HBuilderX 5.04版本云端打包服务器对iOS Development证书的处理逻辑
- 检查manifest中
app-plus->distribute->ios相关配置是否在5.04版本有解析变更 - 检查云打包时证书类型与entitlements模板的匹配逻辑
3. 需要补充的信息
虽然反馈质量较高,但为进一步定位问题,建议用户提供:
- 云端打包日志链接(打包完成后HBuilderX控制台会返回日志地址)
- manifest.json中iOS相关配置截图(特别是
distribute->ios节点) - 确认是否使用了安心打包功能(5.04版本若涉及安心打包逻辑变更,可能是诱因)
4. 临时建议
在问题修复前,建议用户:
- 检查是否勾选了"上架AppStore"相关选项(即使使用测试证书,若勾选了上架选项可能导致entitlements被强制设置为生产环境配置)
- 尝试重新生成Development描述文件并重新配置,排除描述文件本身包含错误entitlements的情况
- 如紧急需要测试包,可暂时回退到上一版本HBuilderX进行打包验证
结论:该反馈技术细节准确,复现路径清晰,大概率是HBuilderX 5.04版本云端打包服务的缺陷,建议技术团队优先介入排查证书类型与entitlements生成逻辑的匹配问题。