How to determine the current iPhone model information?

iOS Provides a UIDevice class which has all the information about your iPhone that does not violate any privacy laws Apple has.

Using the UIDevice we can access information like −

  • UIDevice.current.localizedModel − this returns the localized version of model

  • UIDevice.current.model − this returns model of current device, e.g. @"iPhone", @"iPod touch"

  • − this returns the current name of the device in use, e.g. "My iPhone"

  • UIDevice.current.systemName − this returns the system name e.g. @"iOS"

  • UIDevice.current.systemVersion − this returns the system version e.g. @"4.0"

  • UIDevice.current.batteryLevel − this returns the battery level, if it is between 0 to 1, it will return the value otherwise if the state is UIDeviceBatteryStateUnknown it returns -1.0

  • UIDevice.current.batteryState − this returns the battery state, it has four possible values as per apple APIs

public enum BatteryState : Int {
   case unknown
   case unplugged
   case charging
   case full

You can write the above code in View Controller's viewDidLoad and print to see the result.


Which gave the following result while running on an iPhone 7 plus simulator.


Here is the result and example of how the above code can be used.