| 1 min read

最新版本微信更新了 iphone 11 和 12 的型号返回,可以直接判断。

由于目前 iPhone 发售的新机型,iPhone X / iPhone 11 系列,都是刘海屏。因此在小程序设计中,我们经常需要考虑到底部的适配。

常规的我们是通过获取系统信息模块来获取的。

cont app = getApp();

wx.getSystemInfo({
  success: function(res) {
    //model中包含着设备信息
    console.log(res.model)
    const model = res.model;
    if (model.search('iPhone X') != -1){
      app.globalData.isIpx = true;
    }else{
      app.globalData.isIpx = false;
    }
  }
})

而 iPhone 11 系列由于微信还未及时更新型号,返回的

res.model 是 unknown(iphone) 因此我们可以在正则里这样判断

//...
const model = res.model;
if (/iphone\sx/i.test(model) 
  || (/iphone/i.test(model) && /unknown/.test(model))
  || /iphone\s11/i.test(model)){
      app.globalData.isIpx = true;
}else{
      app.globalData.isIpx = false;
 }

如果你希望兼容未来 升级后的话,也可以提前写好对 11 的预判。

You Can Speak "Hi" to Me in Those Ways