这是检测iPad的正确方法吗?
我可以使用下面的代码来检测我的应用是否在iPad上运行? 我的应用程序需要在iOS 3.0或更高版本上运行。
if([[[UIDevice currentDevice] model] isEqualToString:@"iPad"]){ //Do iPad stuff. }
在iOS> = 3.2上使用UI_USER_INTERFACE_IDIOM()
macros:
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { //device is an iPad. }
在较早的iOS版本中,您可以回退到您的代码,即:
NSRange ipadRange = [[[UIDevice currentDevice] model] rangeOfString:@"iPad"]; if(ipadRange.location != NSNotFound) { //Do iPad stuff. }
这种方法是向前兼容的,即如果明年苹果发布了不同的iPad,型号名称可能会改变,但“iPad”这个词肯定会在string内部。
不。 做这个,而不是:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { // ... }