Search code examples
iosiphoneuser-interfaceipadios-universal-app

Detecting if iPhone or iPad without opting for Universal App


I really want this to work:

if UIDevice.current.userInterfaceIdiom == .pad {
    print("iPad")
} else {
    print("not iPad")
}

However, my app only prints "not iPad" even though I am using an iPad. I have Devices (under Deployment Info) set to iPhone. If I change this to Universal it works, but I don't want a universal app, I just want to be able to detect if an iPhone or iPad is being used (even though the app is for iPhones, due to compatibility mode it still can be run on iPads).

So how can I detect if the device is an iPad or iPhone without changing my app to Universal? Thanks


Solution

  • You can check the model:

    if UIDevice.current.model.hasPrefix("iPad") {
         print("it is an iPad")
    } else {
         print("it is not an iPad")
    }