uni-app 3.4.14版本后无法获取APP版本号 返回"*******" 在3.4.14版本之前可正常获取 包含热更新的版本号
uni-app 3.4.14版本后无法获取APP版本号 返回"*******" 在3.4.14版本之前可正常获取 包含热更新的版本号
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | Windows 11 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
手机系统:Android
手机系统版本号:Android 12
手机厂商:vivo
手机机型:vivo S9
页面类型:vue
vue版本:vue2
打包方式:云端
示例代码:
uni.getSystemInfo({
success: function (res) {
console.log(res)
}
});
uni.getAppBaseInfo()
plus.runtime.getProperty(plus.runtime.appid, (inf) => {
console.log(inf)
})
操作步骤:
uni.getSystemInfo({
success: function (res) {
console.log(res)
}
});
uni.getAppBaseInfo()
plus.runtime.getProperty(plus.runtime.appid, (inf) => {
console.log(inf)
})
预期结果:
{
"appid": "UNI8947BD4",
"version": "9.0.0.2",
"name": "消费保",
"versionCode": "9002",
"description": "",
"author": "",
"email": "",
"features": ["oauth", "payment", "share", "uninview"]
}
实际结果:
{
"appid": "UNI8947BD4",
"version": "******",
"name": "消费保",
"versionCode": "9002",
"description": "",
"author": "",
"email": "",
"features": ["oauth", "payment", "share", "uninview"]
}
bug描述: 3.4.14 版本后无法获取 APP 版本号,返回 “******”,在 3.4.14 版本之前可正常获取,包含热更新的版本号。
App、H5平台 新增 uni.getDeviceInfo 详情
App、H5平台 新增 uni.getAppBaseInfo 详情
App、H5平台 新增 uni.getWindowInfo 详情
plus.runtime.getProperty()
plus.runtime.version
以上获取APP当前版本号的API,无法正常显示,均返回以下值
{
"appid": "__UNI__8947BD4",
"version": "*******",
"name": "消费保",
"versionCode": "9002",
"description": "",
"author": "",
"email": "",
"features": ["oauth", "payment", "share", "uninview"]
}
意思是
plus.runtime.getProperty()
plus.runtime.version
这个两个方法 获取到的是*号?
你提供一下可以复现问题的完整代码吧。我这边测试没有复现问题
方便可以留个QQ 我联系你
是特定的设备问题,我的QQ是 306967951
是特定设备有问题嘛。换个手机可以吗
是特定的设备问题,我的QQ是 306967951
在 uni-app
3.4.14 版本之后,如果你发现无法获取到 APP 版本号,并且返回的是 "*******"
,这可能是由于 uni-app
框架在更新后对某些 API 进行了调整或限制。以下是一些可能的原因和解决方案:
1. 检查 API 使用方式
确保你使用的是正确的 API 来获取版本号。在 uni-app
中,通常使用 plus.runtime.version
来获取 APP 版本号。例如:
const appVersion = plus.runtime.version;
console.log('App Version:', appVersion);
如果你使用的是其他方式,请确保它是正确的。
2. 检查权限配置
在某些情况下,获取版本号可能需要特定的权限。请检查你的 manifest.json
文件,确保没有限制相关权限。
{
"permissions": {
"runtime": {
"version": true
}
}
}
3. 检查热更新配置
如果你使用了热更新功能,确保热更新配置正确,并且没有影响到版本号的获取。热更新可能会覆盖某些原生功能,导致版本号无法正常获取。
4. 更新 uni-app
版本
如果你使用的是较旧的 uni-app
版本,尝试更新到最新版本,看看问题是否得到解决。新版本可能修复了相关的问题。
npm update [@dcloudio](/user/dcloudio)/uni-app
5. 检查插件或模块冲突
如果你使用了某些第三方插件或模块,检查它们是否与 uni-app
的版本号获取功能冲突。尝试禁用这些插件,看看问题是否依然存在。
6. 联系 uni-app
官方支持
如果以上方法都无法解决问题,建议联系 uni-app
官方支持团队,提供详细的版本信息和问题描述,寻求进一步的帮助。
7. 临时解决方案
如果你急需获取版本号,可以考虑在 manifest.json
中手动设置一个版本号,并在代码中读取该值。
{
"version": "1.0.0"
}
然后在代码中读取:
const appVersion = require('@/manifest.json').version;
console.log('App Version:', appVersion);
8. 检查日志和错误信息
查看控制台日志,看看是否有相关的错误信息或警告。这些信息可能会提供更多关于问题的线索。
9. 回滚到旧版本
如果问题确实是由于 uni-app
3.4.14 版本的更新引起的,并且你无法找到解决方案,可以考虑暂时回滚到 3.4.14 之前的版本,直到问题得到解决。
npm install [@dcloudio](/user/dcloudio)/uni-app@3.4.13