开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。在开发项目过程中,有时想判断平台如何判断呢?
平台判断有2种场景,一种是在编译期判断,一种是在运行期判断。
编译期判断
编译期判断,即条件编译,不同平台在编译出包后已经是不同的代码。
// #ifdef H5 alert("只有h5平台才有alert方法") // #endif
如上代码只会编译到H5的发行包里,其他平台的包不会包含如上代码。
运行期判断
运行期判断是指代码已经打入包中,仍然需要在运行期判断平台,此时可使用 uni.getSystemInfoSync().platform 判断客户端环境是 Android、iOS 还是小程序开发工具(在百度小程序开发工具、微信小程序开发工具、支付宝小程序开发工具中使用 uni.getSystemInfoSync().platform 返回值均为 devtools)。
switch(uni.getSystemInfoSync().platform){ case 'android': console.log('运行Android上') break; case 'ios': console.log('运行iOS上') break; default: console.log('运行在开发者工具上') break; }
文章评论(0)