0

我熟悉使用 (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 检查我是否在 iPad 上。但是,这仅适用于通用应用程序。我想知道是否有办法知道我在 iPad 上运行iPhone应用程序。

谢谢!

4

2 回答 2

0

你可以使用[[UIDevice currentDevice] model].

于 2012-11-01T07:36:50.373 回答
-1

我认为即使那样它也给出了正确的设备指示..

由于UIDevice在整个设备中使用共享类,它应该只为 iPad 提供任何类型的应用程序。

你试过了吗。?

根据苹果,在UIDevice类中定义的枚举是这样的

typedef NS_ENUM(NSInteger, UIUserInterfaceIdiom) {
#if __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED
UIUserInterfaceIdiomPhone,           // iPhone and iPod touch style UI
UIUserInterfaceIdiomPad,             // iPad style UI
#endif
};

在这里你可以看到它枚举只是给出了它正在使用的 UI 样式,因为它是在 iPhone 样式 UI 中运行的 iPhone 应用程序,它给出了UIUserInterfaceIdiomPhone

并且名称本身UserInterfaceIdiom也表明它与 UI 屏幕尺寸有关。

相反,您可以使用

[[UIDevice currentDevice] model];

它给出了确切的设备型号,在这里您可以检查字符串“iPad”的范围以识别设备。

于 2012-11-01T07:34:02.333 回答