我熟悉使用 (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 检查我是否在 iPad 上。但是,这仅适用于通用应用程序。我想知道是否有办法知道我在 iPad 上运行iPhone应用程序。
谢谢!
你可以使用[[UIDevice currentDevice] model]
.
我认为即使那样它也给出了正确的设备指示..
由于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”的范围以识别设备。