通过wx.setEnableDebug打开调试时,确认后小程序没有自动退出
发布于 5 年前 作者 wangtao 3229 次浏览 来自 问答

在代码中使用 wx.wx.setEnableDebug({ enableDebug: true }) 来强制打开调试,但是弹出“重新打开后生效”的对话框后,点击确认却没有自动退出小程序。

然后小程序就陷入 __wxConfig.debug 为 true 但实际上调试并没有完全打开的状态(有 vConsole,但调试模式下不校验域名的特性不生效)。

众所周知iOS的微信无法单独结束小程序进程,而如果结束微信进程则调试状态又会被重置。

以下是一直以来都很有效的强制非线上版本打开调试的代码,然而最近因为这个bug变得不可用了:

const systemInfo = wx.getSystemInfoSync();
console.info(__wxConfig);
console.info(systemInfo);
if (
  this.globalData.environment !== 'prod'
  && __wxConfig
  && __wxConfig.envVersion !== 'release'
  && !__wxConfig.debug
  && wx.canIUse('setEnableDebug')
  && systemInfo
  && systemInfo.platform !== 'devtools'
) {
  wx.setEnableDebug({ enableDebug: true });
}

BTW,右上角手工打开调试的操作,点击确认后还是能自动退出小程序的,目前仅仅是通过 wx.setEnableDebug 打开时有此问题


12/12 更新:添加代码片段,可以复现。只要弹框之后产生页面重定向(wx.redirectTo),关闭小程序的动作就会失效。

1 回复

测试了下iPhone,微信版本:7.0.8,是正常推出的,你那是必现吗?

回到顶部