通过wx.setEnableDebug打开调试时,确认后小程序没有自动退出
在代码中使用 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),关闭小程序的动作就会失效。