收藏
回答

updateManager.onCheckForUpdate一直返回false什么原因?

在app.js页面onLaunch里面写的这段代码

提交上新版本,版本号从1.1.1变成1.1.2,上线并发布成功

没有弹出更新提示框,hasUpdate返回false

在开发者工具模拟更新时是正确的,有提示的!

回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-CJiang
    社区技术运营专员-CJiang
    11-05

    你好,请参考文档:https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.onCheckForUpdate.html

    返回false看下是否已经更新到最新版本了。

    11-05
    有用
    回复 4
    • ✨梦雪✨
      ✨梦雪✨
      11-10
      autoUpdate:function(){
          var self = this
              // 获取小程序更新机制兼容
              if (wx.canIUse('getUpdateManager')) {
                const updateManager = wx.getUpdateManager()
                //1. 检查小程序是否有新版本发布
                updateManager.onCheckForUpdate(function(res) {
                  // 请求完新版本信息的回调
                  if (res.hasUpdate) {
                    //检测到新版本,需要更新,给出提示
                    wx.showModal({
                      title: '更新提示',
                      content: '检测到新版本,是否下载新版本并重启小程序?',
                      success: function(res) {
                        if (res.confirm) {
                          //2. 用户确定下载更新小程序,小程序下载及更新静默进行
                          self.downLoadAndUpdate(updateManager)
                        } else if (res.cancel) {
                          //用户点击取消按钮,需要强制更新,二次弹窗
                          wx.showModal({
                            title: '温馨提示~',
                            content: '本次版本更新涉及到新的功能添加,旧版本无法正常访问的哦~',
                            showCancel:false,
                            confirmText:"确定更新",
                            success: function(res) {
                              if (res.confirm) {
                                //下载新版本,并重新应用
                                self.downLoadAndUpdate(updateManager)
                              }
                            }
                          })
                        }
                      }
                    })
                  }
                })
              } else {
                // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
                wx.showModal({
                  title: '提示',
                  content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
                })
              }
         },
         downLoadAndUpdate: function (updateManager){
          var self=this
          wx.showLoading();
          //静默下载更新小程序新版本
          updateManager.onUpdateReady(function () {
           wx.hideLoading()
           //新的版本已经下载好,调用 applyUpdate 应用新版本并重启
           updateManager.applyUpdate()
          })
          updateManager.onUpdateFailed(function () {
           // 新的版本下载失败
           wx.showModal({
            title: '已经有新版本了哟~',
            content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
           })
          })
         }




      这样写的,但是并没有弹窗,也没有更新!调试器测了完全没问题,发布到线上没反应
      11-10
      回复
    • 瘦孩子
      瘦孩子
      11-17
      同样的情况,我们需求是发布一个新版本就要下载更新小程序版本,但是updateManager.onCheckForUpdate一直返回false,不使用这个方法检测版本更新直接调用弹框的方法,安卓手机弹出来了,但是苹果手机没有弹出来
      11-17
      回复
    • 开心🧐
      开心🧐
      星期三 14:52回复✨梦雪✨
      您好,你的这个问题解决了吗,我也遇到了同样的问题
      星期三 14:52
      回复
    • 开心🧐
      开心🧐
      星期三 14:52回复瘦孩子
      您好,你的这个问题解决了吗,我也遇到了同样的问题
      星期三 14:52
      回复
  • Zero
    Zero
    11-05

    换个基础版本库试试

    11-05
    有用
    回复
登录 后发表内容
问题标签