在iPad上运行的iPhone应用程序中检测iOS设备类型

在iPad上运行的iPhone应用程序中检测iOS设备类型

问题描述:

所以我有一种情况,我开发了一个iPhone应用程序,可以在iPad上运行4S分辨率(苹果在iPhone上处理运行iPhone应用程序的默认方式新iPad)。 但现在,我想了解在iPad上使用该应用的用户的用户活动,以了解构建该应用的iPad版本是否有意义。 但是,当我登录UIDevice.current.userInterfaceIdiom它总是返回iphone。 我想到的一个解决方案是检查屏幕分辨率(因为现在还没有人使用4/4S),但随着iPad Pro的推出,苹果公司使用iPhone 7的分辨率在iPad Pro上运行iPhone应用程序。在这种情况下,我无法知道用户是在iPhone还是iPad上运行应用程序。在iPad上运行的iPhone应用程序中检测iOS设备类型

+1

如果你只关心设备是iPad或iPhone,为什么不使用'UIDevice.current.model'? –

+0

你正在谈论iPad或iPod? –

+1

这里是你的答案[StackOVerFlow Answer](https://stackoverflow.com/a/26962452/5259363) –

我用这个

+(BOOL) isIPad 
{ 
    BOOL isPad; 
    NSRange range = [[[UIDevice currentDevice] model] rangeOfString:@"iPad"]; 

    if(range.location==NSNotFound) 
    { 
     isPad=NO; 


    } 
    else { 
     isPad=YES; 
    } 

    return isPad; 
}