連勝老師今天來說一下小程序后臺,運維中心經常報的一個錯誤:錯誤提示: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')。