最新版本微信更新了 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 的预判。