剪不断理还乱
剪不断理还乱
  • 发布:2026-03-16 15:59
  • 更新:2026-03-17 20:06
  • 阅读:36

【报Bug】H5+APP IOS 更新5.01.2026021122-alpha 后, wgt 热更新包更新失败

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 5.01

手机系统: iOS

手机系统版本号: iOS 18

手机厂商: 苹果

手机机型: Iphone 15

打包方式: 离线

操作步骤:

通过plus.runtime.install 安装包即可

预期结果:

安装成功

实际结果:

安装失败

bug描述:

使用xcode 26, 运行到真机. 安装wgt热更新包, H5端报错: The manifest.json in the WFT installation package is not a vaild JSON;
控制台提示: Manifest.JSON parsing failed, please make sure the format is correct and cannot contain comments

由于json格式正确,且没有更多的提示. 无法知道是否是缺少某个字段导致的错误. 如果是字段缺少,那么希望报出缺少的字段. 因为H5+APP的manifest文档已经不维护了.

实际上json 格式没有问题, 并且在同一个包在旧版SDK上工作正常.
此处json内容做了部分值隐藏

{  
    "@platforms": [  
        "android",  
        "iPhone",  
        "iPad"  
    ],  
    "id": "*****",  
    "name": "*****",  
    "version": {  
        "name": "5.2.85",  
        "code": 5285  
    },  
    "description": "",  
    "icons": {  
        "72": "icon.png"  
    },  
    "launch_path": "xiao.html",  
    "developer": {  
        "name": "*****",  
        "email": "",  
        "url": "*****"  
    },  
    "permissions": {  
        "Accelerometer": {  
            "description": "访问加速度感应器"  
        },  
        "Audio": {  
            "description": "访问麦克风"  
        },  
        "Cache": {  
            "description": "管理应用缓存"  
        },  
        "Camera": {  
            "description": "访问摄像头"  
        },  
        "Console": {  
            "description": "跟踪调试输出日志"  
        },  
        "Contacts": {  
            "description": "访问系统联系人信息"  
        },  
        "Device": {  
            "description": "访问设备信息"  
        },  
        "Downloader": {  
            "description": "文件下载管理"  
        },  
        "Events": {  
            "description": "应用扩展事件"  
        },  
        "File": {  
            "description": "访问本地文件系统"  
        },  
        "Gallery": {  
            "description": "访问系统相册"  
        },  
        "Geolocation": {  
            "description": "访问位置信息"  
        },  
        "Invocation": {  
            "description": "使用Native.js能力"  
        },  
        "Messaging": {  
            "description": "访问通讯能力"  
        },  
        "Orientation": {  
            "description": "访问方向感应器"  
        },  
        "Proximity": {  
            "description": "访问距离感应器"  
        },  
        "Storage": {  
            "description": "管理应用本地数据"  
        },  
        "Uploader": {  
            "description": "管理文件上传任务"  
        },  
        "Runtime": {  
            "description": "访问运行期环境"  
        },  
        "XMLHttpRequest": {  
            "description": "跨域网络访问"  
        },  
        "Zip": {  
            "description": "文件压缩与解压缩"  
        },  
        "Barcode": {  
            "description": "管理二维码扫描插件"  
        },  
        "Maps": {  
            "description": "管理地图插件"  
        },  
        "Speech": {  
            "description": "管理语音识别插件"  
        },  
        "Webview": {  
            "description": "窗口管理"  
        },  
        "NativeUI": {  
            "description": "原生UI控件"  
        },  
        "Navigator": {  
            "description": "浏览器信息"  
        },  
        "NativeObj": {  
            "description": "原生对象"  
        },  
        "Share": {  
            "description": "分享"  
        },  
        "plugintest": {  
            "description": "5+和uniapp 插件demo "  
        },  
        "payment": {  
            "description": "支付"  
        }  
    },  
    "plus": {  
        "safearea": {  
            "background": "#CCCCCC",  
            "backgroundDark": "#2f0508",  
            "bottom": {  
                "offset": "auto"  
            },  
            "left": {  
                "offset": "auto"  
            },  
            "right": {  
                "offset": "auto"  
            }  
        },  
        "splashscreen": {  
            "autoclose": true,  
            "waiting": false  
        },  
        "popGesture": "close",  
        "runmode": "liberate",  
        "signature": "*****",  
        "statusbar": {  
            "immersed": "none",  
            "style": "light",  
            "background": "#000"  
        },  
        "distribute": {  
            "plugins": {  
                "share": {  
                    "weixin": {  
                        "appid": "*****",  
                        "UniversalLinks": "*****"  
                    },  
                    "qq": {  
                        "appid": "*****"  
                    }  
                },  
                "maps": {  

                }  
            },  
            "apple": {  
                "urlschemewhitelist": [  
                    "iosamap",  
                    "baidumap"  
                ]  
            },  
            "ios": {  
                "dSYMs": false  
            }  
        }  
    }  
}
2026-03-16 15:59 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

需要补充 hbuilderx 版本信息及详细的报错日志。
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为DCloud官方人员,对该bug反馈的评审意见如下:

1. 反馈内容完整性分析

优点:

  • 基本信息完整:包含HBuilderX版本(5.01 Alpha)、平台(iOS)、设备信息(iPhone 15, iOS 18)等必要环境信息
  • 错误描述清晰:提供了具体的错误提示("The manifest.json in the WFT installation package is not a valid JSON" 和 "Manifest.JSON parsing failed")
  • 对比信息有价值:明确指出同一wgt包在旧版SDK工作正常,新版SDK(5.01.2026021122-alpha)出现异常,这是关键的回归测试线索
  • 提供了manifest.json源码:虽然做了部分脱敏处理,但展示了完整的JSON结构,便于初步排查格式问题

待补充建议:

  • 编码格式确认:建议确认manifest.json文件编码是否为UTF-8无BOM格式,某些情况下BOM头会导致JSON解析失败
  • wgt包结构:建议提供wgt包内部文件结构列表(是否包含__MACOSX等隐藏目录,或文件路径是否包含特殊字符)
  • 完整日志:建议提供从调用plus.runtime.install开始到报错结束的完整原生日志(base日志),而不仅是H5端报错信息

2. Bug是否成立分析

经检索知识库,暂未找到关于H5+APP在iOS平台5.01版本wgt热更新manifest解析失败的已知问题或相关依据。

但根据反馈描述的特征:

  • 旧版SDK正常,新版SDK异常
  • 错误提示表明是manifest.json解析阶段失败
  • 用户确认JSON格式正确且无注释

这符合版本回归bug的特征。由于H5+APP manifest.json解析逻辑在SDK升级后可能出现校验规则变更(如更严格的JSON校验、新增必填字段校验等),建议开发团队核查5.01版本iOS端wgt安装模块的manifest解析逻辑变更记录。

3. 基本概念与知识库依据

从知识库中未检索到与本次问题直接相关的技术依据。

初步排查建议(基于通用技术逻辑,非知识库依据):

  1. 检查manifest.json是否存在隐藏的BOM头(UTF-8 BOM)
  2. 检查wgt包压缩格式是否为标准zip格式,且未包含特殊文件(如.DS_Store等)
  3. 检查manifest.json中是否包含未转义的特殊字符(如换行符、制表符等)

结论:该反馈是一个完整度较高的有效bug反馈,提供了版本对比等关键线索。由于知识库中暂无相关依据,建议提交至官方issue系统并附上可复现的wgt测试包,以便开发团队核查新版SDK的manifest解析逻辑。

内容为 AI 生成,仅供参考
DCloud_App_Array

DCloud_App_Array

从信息看就是maniefst.json中的格式错误,新版本并没有调整过相关逻辑,请将wgt上传看下。

要回复问题请先登录注册