uni-app 获取版本异常
uni-app 获取版本异常
操作步骤:
- 运行到手机
预期结果:
- 获取到版本1.0.0
实际结果:
- 得到13.99
bug描述:
- uni.getSystemInfoSync()获取的appVersion再浏览器调试正确,数据线连接运行在手机版本不对
| 信息类别 | 信息内容 | 
|---|---|
| 产品分类 | uniapp/App | 
| PC开发环境 | Windows | 
| PC版本号 | win11 | 
| HBuilderX | 正式 | 
| HBuilderX版本 | 3.99 | 
| 手机系统 | Android | 
| 手机版本号 | Android 13 | 
| 手机厂商 | 小米 | 
| 手机机型 | 小米10 | 
| 页面类型 | vue | 
| vue版本 | vue3 | 
| 打包方式 | 云端 | 
| 项目创建方式 | HBuilderX | 
 

更多关于uni-app 获取版本异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
        
          2 回复
        
      
      
        测了下 确实如此 跟文档上说的对不上
但是这个appWgtVersion在app端会跟随应用版本名称发生改变 感觉像是写反了
更多关于uni-app 获取版本异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 uni-app 中获取应用版本时,如果遇到异常,可能是由于多种原因导致的。以下是一些常见的解决方法:
1. 确保使用了正确的 API
uni-app 提供了 plus.runtime.version 来获取应用版本号。确保你使用了正确的 API。
const version = plus.runtime.version;
console.log('应用版本号:', version);
2. 检查运行环境
plus.runtime.version 是 HTML5+ 的 API,只有在 App 环境下才能正常使用。如果你在 H5 或小程序环境下使用这个 API,可能会导致异常。
你可以通过 uni.getSystemInfoSync() 来获取当前运行环境:
const systemInfo = uni.getSystemInfoSync();
console.log('当前运行环境:', systemInfo.platform);
if (systemInfo.platform === 'android' || systemInfo.platform === 'ios') {
    const version = plus.runtime.version;
    console.log('应用版本号:', version);
} else {
    console.log('当前环境不支持获取应用版本号');
}
3. 检查 manifest.json 配置
确保 manifest.json 文件中已经正确配置了应用的版本号。你可以在 manifest.json 中检查 version 字段:
{
  "name": "MyApp",
  "version": "1.0.0",
  "description": "MyApp Description",
  ...
}
4. 检查权限
在某些情况下,可能需要特定的权限才能获取应用版本号。确保你的应用已经获取了必要的权限。
5. 调试和日志
如果上述方法都无法解决问题,建议在代码中添加更多的调试信息,查看具体是哪里出现了异常。你可以使用 console.log 或 uni.showToast 来输出调试信息。
try {
    const version = plus.runtime.version;
    console.log('应用版本号:', version);
} catch (error) {
    console.error('获取应用版本号失败:', error);
    uni.showToast({
        title: '获取应用版本号失败',
        icon: 'none'
    });
} 
        
       
                     
                   
                    

