知晓程序员,专注微信小程序开发的程序员!
连胜老师今天来说一下小程序后台,运维中心经常报的一个错误:错误提示:wx.getSetting is not a function;at App lifeCycleMethod onLaunch function。
这里的wx.getSetting,可能是其他API,比如wx.getBackgroundAudioManager,wx.saveVideoToPhotosAlbum等。
这些API有个共同点儿:并非小程序基本库1.0.0就支持,都是后续某个基础库版本才开始支持。
有些同学已经在小程序后台,设置了基础库的最低支持版本,依然会报错,难道是微信的bug?
然后,就只能默默的怀疑是微信官方的bug了...
为什么这个错误会在微信客户端版本6.5.8之前会有问题,而6.5.8之后就正常了?
(微信客户端6.5.8的截图如下)
我们在判断API是否支持时,方法比较多,其中微信官方给过一种《比较小程序基础库版本号的正确方法》,大家可以自己到开发者社区去搜索。
这里说的基础库版本(SDKVersion),是通过wx.getSystemInfo这个API进行获取的,来看一下官方文档:
原来,这个API是从基础库1.1.0开始支持的,也就是说1.1.0之前的1.0.0和1.0.1版本就获取不到这个值。
因此,可以确定的是,小程序后台设置的基础库最低版本,应该是用SDKVersion进行判断的,各位同学在使用API时,建议还是使用其他判断方式,比如wx.canIUse('getSetting')。