uni-app 3.4.14版本后无法获取APP版本号 返回"*******" 在3.4.14版本之前可正常获取 包含热更新的版本号

发布于 1周前 作者 eggper 来自 Uni-App

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"]  
}

5 回复

意思是 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
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!