离子-检测设备是Ipad

时间:2019-07-19 11:28:48

标签: cordova ionic-framework ipad

我尝试使用Ionic Platform模块,但无法检测到Ipad正在运行。

constructor(
    private platform: Platform,
  ) {
  }
...
console.log(platform.platforms());

记录iphone,ios,cordova,mobile,hybrid,所以这里没有帮助。

试图检查用户代理,它显示为iPhone,而不是iPad。还尝试使用this plugin,并且至少在我测试的四个不同的模拟器(Ipad pro,Ipad air 2 ...)中也返回了false。

有没有办法使这项工作成功?

3 个答案:

答案 0 :(得分:2)

使用device.model中的cordova-plugin-device

答案 1 :(得分:1)

您可以在构造函数中尝试以下操作:

platform.ready().then(() => {
    if (this.platform.is('ipad')) {
      console.log("Hey iPad!");
    }
});

另外,请参见docs以获取更多参考。

答案 2 :(得分:1)

您将需要使用cordova-plugin-device中的device.model

现在,我们知道这将返回您的模型,但是要进一步缩小为单个模型,您需要从列表here中为每个模型获取一个Identifier。拥有Identifier后,您可以应用以下基本条件来获得单个模型。

示例1:对于iPhone X

if (device.model.includes('iPhone10,3') || device.model.includes('iPhone10,6')) {
  // custom logic for iPhone X
}

示例2:对于iPad mini(第5代)

if (device.model.includes('iPad11,1') || device.model.includes('iPad11,2')) {
   // custom logic for iPad mini (5th generation)
}

注意::如果在模拟器上进行测试,这可能无法正常工作。