如何以编程方式确定我的应用程序是iPad还是iPhone

时间:2011-09-14 15:03:16

标签: iphone objective-c ipad

我的问题是能够根据使用的设备动态包含/排除代码 我需要一些东西链接

#if (TARGET_IPHONE_SIMULATOR)

  

`#if(TARGET_OS_IPHONE)

但要指定设备是ipad还是iphone

3 个答案:

答案 0 :(得分:2)

我在我的_prefix.pch文件中定义了两个宏,以便在我的代码中更容易(也更易读),所以你可以这样做:

if (iPad) 

if (iPhone)

以下是代码:

#ifndef iPad
    #define iPad    (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#endif
#ifndef iPhone
    #define iPhone  (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad)
#endif

答案 1 :(得分:0)

这不是条件编译,而是:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    // iPhone Code
} else {
    // iPad Code
}

这只是UIDevice's -userInterfaceIdiom方法的宏。

答案 2 :(得分:0)

使用UI_USER_INTERFACE_IDIOM()

返回UIUserInterfaceIdiomPhoneUIUserInterfaceIdiomPad