CheckDevice

How to detect iOS device models and screen size?
CheckDevice is detected the current  device model and screen sizes.

CheckDevice.size()

Simplify and justify

You can also use

CheckDevice.isPhone() 

to check the device type iPhone.

CocoaPods or Swift Package Manager (SPM)

CheckDevice is support cocoaPods and SPM.

CocoaPods

CocoaPods is a dependency manager for Xcode projects. To use CheckDevice with CocoaPods simply add the following lines to your PodFile:

pod 'CheckDevice'

And then run: $ pod install

Swift Package Manager

The Swift Package Manager automates the distribution of Swift code. To use CheckDevice with SPM, add a dependency to your Package.swift file:

let package = Package(
    dependencies: [
        .package(url: "https://github.com/ugurethemaydin/CheckDevice.git", ...)
    ]
)

Carthage

Carthage is unsupported.

Usage

Detect a current device and write log:

CheckDevice.current()

iOS

Device version

func myFunc() {
        /*** Display the device version ***/
        switch CheckDevice.version() {
            /*** iPhone ***/
            case .iPhone4:              print("It's an iPhone 4")
            case .iPhone4S:             print("It's an iPhone 4S")
            case .iPhone5:              print("It's an iPhone 5")
            case .iPhone5C:             print("It's an iPhone 5C")
            case .iPhone5S:             print("It's an iPhone 5S")
            case .iPhone6:              print("It's an iPhone 6")
            case .iPhone6S:             print("It's an iPhone 6S")
            case .iPhone6Plus:          print("It's an iPhone 6 Plus")
            case .iPhone6SPlus:         print("It's an iPhone 6 S Plus")
            case .iPhoneSE:             print("It's an iPhone SE")
            case .iPhone7:              print("It's an iPhone 7")
            case .iPhone7Plus:          print("It's an iPhone 7 Plus")
            case .iPhone8:              print("It's an iPhone 8")
            case .iPhone8Plus:          print("It's an iPhone 8 Plus")
            case .iPhoneX:              print("It's an iPhone X")
            case .iPhoneXS:             print("It's an iPhone Xs")
            case .iPhoneXS_Max:         print("It's an iPhone Xs Max")
            case .iPhoneXR:             print("It's an iPhone Xr")
            case .iPhone11:             print("It's an iPhone 11")            
            case .iPhone11Pro:          print("It's an iPhone 11")                        
            case .iPhone11Pro_Max:      print("It's an iPhone 11 Pro Max")                        
            case .iPhone11Pro_Max:      print("It's an iPhone 11 Pro Max")                                    
            case .iPhoneSE2:            print("It's an iPhone SE 2 Gen")                                                
            case .iPhone12Mini:         print("It's an iPhone 12 Mini")                                                            
            case .iPhone12:             print("It's an iPhone 12")                                                                        
            case .iPhone12Pro:          print("It's an iPhone 12 Pro")                                                                                    
            case .iPhone12ProMax:       print("It's an iPhone 12 Pro Max")                                                                                                
        

            /*** iPad ***/
            case .iPad1:           print("It's an iPad 1")
            case .iPad2:           print("It's an iPad 2")
            case .iPad3:           print("It's an iPad 3")
            case .iPad4:           print("It's an iPad 4")
            case .iPad5:           print("It's an iPad 5")
            case .iPad6:           print("It's an iPad 6")
            case .iPad7:           print("It's an iPad 7")            
            
            /*** iPadAir ***/
            case .iPadAir:         print("It's an iPad Air")
            case .iPadAir2:        print("It's an iPad Air 2")
            
            
            /*** iPadMini ***/
            case .iPadMini:        print("It's an iPad Mini")
            case .iPadMini2:       print("It's an iPad Mini 2")
            case .iPadMini3:       print("It's an iPad Mini 3")
            case .iPadMini4:       print("It's an iPad Mini 4")
            
            
            /*** iPadPro ***/
            case .iPadPro9_7Inch:  print("It's an iPad Pro 9.7 Inch")
            case .iPadPro10_5Inch: print("It's an iPad Pro 10.5 Inch")
            case .iPadPro12_9Inch: print("It's an iPad Pro 12.9 Inch")

            /*** iPod ***/
            case .iPodTouch1Gen: print("It's a iPod touch generation 1")
            case .iPodTouch2Gen: print("It's a iPod touch generation 2")
            case .iPodTouch3Gen: print("It's a iPod touch generation 3")
            case .iPodTouch4Gen: print("It's a iPod touch generation 4")
            case .iPodTouch5Gen: print("It's a iPod touch generation 5")
            case .iPodTouch6Gen: print("It's a iPod touch generation 6")
            case .iPodTouch7Gen: print("It's a iPod touch generation 7")            
            
            
            /*** Watch ***/
            case .WatchOriginal38mm: print("It's a Apple Watch Original 38MM")            
            case .WatchOriginal42mm: print("It's a Apple Watch Original 42MM")                        
            
            /*** All watch alternative included... Some examples ***/
            case .Watch1Gen38mm: print("It's a Apple Watch 1 38MM")                                    
            case .Watch2Gen42mm: print("It's a Apple Watch 2 42MM")                                                
            case .Watch4Gen40mm: print("It's a Apple Watch 4 38MM")                                                            
            case .Watch6Gen40mm: print("It's a Apple Watch 6 40MM")        
            case .WatchSE44mm: print("It's a Apple Watch SE 44MM")                                                                                    
           
           
           
            /*** Simulator ***/
            case .Simulator:    print("It's a Simulator")

            /*** Unknown ***/
            default:            print("It's an unknown device")
        }
    }

Device screen size

func myFunc() {
        /*** Display the device screen size ***/
        switch CheckDevice.size() {
            case .screen3_5Inch:  print("It's a 3.5 inch screen")
            case .screen4Inch:    print("It's a 4 inch screen")
            case .screen4_7Inch:  print("It's a 4.7 inch screen")
            case .screen5_4Inch:  print("It's a 5.4 inch screen")            
            case .screen5_5Inch:  print("It's a 5.5 inch screen")
            case .screen5_8Inch:  print("It's a 5.8 inch screen")
            case .screen6_1Inch:  print("It's a 6.1 inch screen")
            case .screen6_5Inch:  print("It's a 6.5 inch screen")
            case .screen6_7Inch:  print("It's a 6.7 inch screen")            
            case .screen7_9Inch:  print("It's a 7.9 inch screen")
            case .screen9_7Inch:  print("It's a 9.7 inch screen")
            case .screen10_5Inch: print("It's a 10.5 inch screen")
            case .screen12_9Inch: print("It's a 12.9 inch screen")
            default:              print("Unknown size")
        }
}

Device type

func myFunc() {
        /*** Display the device type ***/
        switch CheckDevice.type() {
            case .iPod:         print("It's an iPod")
            case .iPhone:       print("It's an iPhone")
            case .iPad:         print("It's an iPad")
            case .Watch:         print("It's an Apple Watch")            
            case .Simulator:    print("It's a Simulated device")
            default:            print("Unknown device type")
        }
}

or

func myFunc() {
        /*** Display the device type ***/
        if (CheckDevice.isPad()){
            print("It's an iPad")
        }
        else if (CheckDevice.isPhone()){
            print("It's an iPhone")
        }
        else if (CheckDevice.isPod()){
            print("It's an iPod")
        }
        else if (CheckDevice.isWatch()){
            print("It's an Apple Watch")
        }
        else if (CheckDevice.isSimulator()){
            print("It's a Simulated device")
        }
}

Mac

Mac version

func myFunc() {
        /*** Display the mac version ***/
        switch CheckDevice.type() {
            case .iMac:         print("It's an iMac")
            case .macBook:      print("It's a MacBook")
            case .macBookAir:   print("It's a MacBook Air")
            case .macBookPro:   print("It's a MacBook Pro")
            default:            print("Unknown device type")
        }
    }

Mac screen size

func myFunc() {
        /*** Display the mac screen size ***/
        switch CheckDevice.size() {
            case .screen11Inch:     print("It's a 11 inch screen")
            case .screen12Inch:     print("It's a 12 inch screen")
            case .screen13Inch:     print("It's a 13 inch screen")
            case .screen15Inch:     print("It's a 15 inch screen")
            case .screen17Inch:     print("It's a 17 inch screen")
            case .screen21_5Inch:   print("It's a 21.5 inch screen")
            case .screen27Inch:     print("It's a 27 inch screen")
            default:                print("Unknown size")
        }
}

Helpers

func myFunc() {
        /*** Helpers ***/
        if CheckDevice.size() == Size.screen4Inch {
            print("It's a 4 inch screen")
        }

        if CheckDevice.size() > Size.screen4_7Inch {
            print("Your device screen is larger than 4.7 inch")
        }

        if CheckDevice.size() < Size.screen4_7Inch {
            print("Your device screen is smaller than 4.7 inch")
        }

        if CheckDevice.size() == Size.screen27Inch {
            print("It's a 27 inch screen")
        }
        
        if CheckDevice.size() > Size.screen15Inch {
            print("Your mac screen is larger than 15 inch")
        }
        
        if CheckDevice.size() < Size.screen15Inch {
            print("Your mac screen is smaller than 15 inch")
        }

        if CheckDevice.isRetina() {
            print("It's a retina display")
        }
        
}

Author

Uğur Ethem AYDIN, [email protected]

GitHub