Check If App Is Running On An iPad

March 30, 2012

Although you can use something like this – Get iPhone Device Name, Unique Device Identifier (UDID), OS and Model – to check if your app is running on an iPad, there is a much easier way.

Check the userInterfaceIdiom property of the device to get the information you need:

- (BOOL)isDeviceiPad
{
  BOOL iPadDevice = NO;
 
  // Is userInterfaceIdiom available?
  if ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)])
  {
    // Is device an iPad?
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
      iPadDevice = YES;
  }
 
  return iPadDevice;
}

As noted in the comments below, Apple provides a macro to accomplish the same task. Here is the full definition from the UIDevice.h header file:

#define UI_USER_INTERFACE_IDIOM() ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] ? [[UIDevice currentDevice] userInterfaceIdiom] : UIUserInterfaceIdiomPhone)

Thanks for the heads up on this.