uni-app 使用plus.runtime.getProperty获取的版本仍为原来基座的版本 非manifest.json里的版本号
uni-app 使用plus.runtime.getProperty获取的版本仍为原来基座的版本 非manifest.json里的版本号
示例代码:
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
console.log(widgetInfo)
versionCode = widgetInfo.versionCode;
});
操作步骤:
复制代码运行一下
预期结果:
拿到manifest.json的版本号
实际结果:
没有拿到
bug描述:
HBuilderX版本:2.7.5.20200519
手机OS平台:ios
手机OS系统版本:13.5
编译模式v3->nvue: v3
页面类型:nvue
开发环境、版本号、项目创建方式
项⽬信息 | 详情 |
---|---|
HBuilderX版本 | 2.7.5.20200519 |
手机OS平台 | ios |
手机OS系统版本 | 13.5 |
编译模式v3->nvue | v3 |
页面类型 | nvue |
此贴已解决,
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
versionCode = widgetInfo.version;
console.log(widgetInfo.version) //1.0.7
});
拿到这个,把小数点去掉就好了。
还有个问题,就是热更新重启之后,怎么仍然提示要更新重启,获取不到版本号?
麻烦问下 这个问题解决了嘛
回复 张文远: 你的是什么问题?拿不到?
widgetInfo.version我是根据这个比对,热更新后还是原来的,但内容已经更新了
大佬,这个问题有解决吗 我也出现了同样的问题
重新编译,运行项目就行了
plus.runtime.getProperty获取到的widgetInfo.version不是manifest.json里的版本号,很可能的原因是你用了标准基座运行打包,看一下我的这个帖子:
https://ask.dcloud.net.cn/question/204230?item_id=291536&rf=false
在uni-app开发中,plus.runtime.getProperty
方法通常用于获取当前应用的运行时信息,包括版本号等。如果你发现通过 plus.runtime.getProperty
获取的版本号仍然是旧基座(即HBuilderX的内置运行基座)的版本号,而不是你在 manifest.json
中定义的新版本号,这通常意味着应用可能未正确打包或更新。
这里有几个可能的原因和相应的代码示例来帮助你检查和解决问题。
1. 确认应用是否已重新打包
首先,确保你已经重新打包了应用,并且新的 manifest.json
中的版本号已经被包含在内。重新打包通常是通过HBuilderX的“发行”功能完成的。
2. 检查manifest.json
中的版本号
确保manifest.json
中的mp-weixin
(或其他平台配置)下的version
字段已经更新为你期望的新版本号。
{
"mp-weixin": {
"appid": "your-app-id",
"setting": {
"urlCheck": false
},
"version": {
"name": "1.0.1", // 确保这里的版本号是你期望的新版本
"code": "101"
}
}
}
3. 使用plus.runtime.getProperty
获取版本号
在你的uni-app代码中,你可以这样使用plus.runtime.getProperty
来获取当前应用的版本号:
if (window.plus) {
plus.runtime.getProperty(function(info) {
console.log("App Name: " + info.name);
console.log("App Version: " + info.version);
console.log("App Version Code: " + info.versionCode);
});
} else {
console.log("plus environment is not ready");
}
4. 清理和重装应用
在开发过程中,有时候旧的基座缓存可能会导致问题。尝试清理应用数据或重新安装应用,看是否能获取到新的版本号。
5. 检查基座版本
确保你的HBuilderX和内置的基座版本是最新的。有时候,基座本身的bug也可能导致版本号获取不正确。
6. 日志和调试
如果上述步骤都无法解决问题,查看HBuilderX的控制台输出和应用的日志,可能会有更详细的错误信息帮助定位问题。
通过上述步骤,你应该能够确认是否成功获取到了manifest.json
中定义的新版本号。如果问题依旧存在,可能需要更深入地检查你的项目配置或咨询uni-app的官方支持。