uni-app uni-upgrade-cener插件中的代码plus.runtime.getProperty没法获取version字段 导致不调用云函数

uni-app uni-upgrade-cener插件中的代码plus.runtime.getProperty没法获取version字段 导致不调用云函数

操作步骤:

  1. 安装uni-upgrade-center app插件
  2. 在import checkUpdate from ‘@/uni_modules/uni-upgrade-center-app/utils/check-update’。并在onlaunch中调用
  3. 运行到模拟器

预期结果:

获取对应信息并执行后续的云函数

实际结果:

没有version字段,不执行后续逻辑

bug描述:

【报Bug】uni-app开发app实现app更新功能过程中,项目运行到模拟器上,uni-upgrade-cener插件中的代码plus.runtime.getProperty没法获取version字段,导致不调用云函数

信息类别 信息内容
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win11
HBuilderX类型 正式
HBuilderX版本号 4.75
手机系统 Android
手机系统版本号 Android 12
手机厂商 OPPO
手机机型 模拟器
页面类型 vue
vue版本 vue3
打包方式 离线
项目创建方式 HBuilderX


更多关于uni-app uni-upgrade-cener插件中的代码plus.runtime.getProperty没法获取version字段 导致不调用云函数的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

已经解决,请使用自定义基座

更多关于uni-app uni-upgrade-cener插件中的代码plus.runtime.getProperty没法获取version字段 导致不调用云函数的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个典型的模拟器环境兼容性问题。plus.runtime.getProperty 在部分模拟器上无法正确获取应用版本信息,导致version字段为空,从而中断了更新检查流程。

解决方案:

  1. 真机测试验证:在真实Android设备上运行测试,模拟器环境可能存在API支持不完整的情况。

  2. 添加容错处理:在调用checkUpdate前手动设置版本号:

// 在调用checkUpdate前添加
if(!plus.runtime.version) {
    plus.runtime.version = '1.0.0'; // 设置默认版本号
}
  1. 检查manifest.json配置:确保应用版本号在manifest.json中正确配置:
{
    "name": "应用名称",
    "versionName": "1.0.0",
    "versionCode": "100"
}
  1. 使用条件编译:针对模拟器环境做特殊处理:
// #ifdef APP-PLUS
if(uni.getSystemInfoSync().platform === 'devtools') {
    // 模拟器环境处理
}
// #endif
回到顶部