设置应用程序以检测OS版本。和iPhone或iPad

时间:2010-07-21 16:04:48

标签: iphone ipad ios

  1. 如何检测我的应用是否在iPhone或iPad上运行,以及它正在运行的iOS版本?
  2. 我能否以与#if _OS4.0#if IPAD类似的方式使用预处理器宏?
  3. 这是犹太人吗,还是我应该单独制作提交内容?

2 个答案:

答案 0 :(得分:2)

通常使用基于操作系统版本的功能是不好的做法。

根据提供,尽可能使用UI_USER_INTERFACE_IDIOM()。也可以使用:

Class qlPreview = NSClassFromString(@"QLPreviewController");

UIScreen *mainScreen = [UIScreen mainScreen];
if([mainScreen respondsToSelector:@selector(scale)]){
     NSLog(@"screen scale: %f",[mainScreen scale]);
}

但是,有时您无法避免检查系统版本。

答案 1 :(得分:1)

UI_USER_INTERFACE_IDIOM()可用于检测设备。 可能的返回值是:

  • UIUserInterfaceIdiomPhone
  • UIUserInterfaceIdiomPad

if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ) {}

还有__IPHONE_3_2定义可以提供帮助:

#ifndef __IPHONE_3_2
    /* ... */
#elif
   /* ... */
#endif