From 6bc0d0d824464a258f3ae076c1dd862206027859 Mon Sep 17 00:00:00 2001 From: Zandor Smith Date: Wed, 9 Sep 2026 20:46:43 +0200 Subject: [PATCH 1/2] Simplify GYB device definitions with feature defaults --- Source/Device.swift.gyb | 512 +++++++++++++++++++++++++++++----------- 1 file changed, 377 insertions(+), 135 deletions(-) diff --git a/Source/Device.swift.gyb b/Source/Device.swift.gyb index 36c04251..7a61e94a 100644 --- a/Source/Device.swift.gyb +++ b/Source/Device.swift.gyb @@ -11,7 +11,26 @@ %{ class Device: - def __init__(self, caseName, comment, imageURL, identifiers, diagonal, screenRatio, description, safeDescription, ppi, isPlusFormFactor, isPadMiniFormFactor, isPro, isXSeries, hasTouchID, hasFaceID, hasSensorHousing, supportsWirelessCharging, hasRoundedDisplayCorners, hasDynamicIsland, applePencilSupport, hasForce3dTouchSupport, cameras, hasLidarSensor, cpu, hasUSBCConnectivity, has5gSupport): + def __init__( + self, caseName, comment, imageURL, identifiers, diagonal, screenRatio, + description, safeDescription, ppi, *, cpu, + isPlusFormFactor=False, + isPadMiniFormFactor=False, + isPro=False, + isXSeries=False, + hasTouchID=False, + hasFaceID=False, + hasSensorHousing=False, + supportsWirelessCharging=False, + hasRoundedDisplayCorners=False, + hasDynamicIsland=False, + applePencilSupport=0, + hasForce3dTouchSupport=False, + cameras=0, + hasLidarSensor=False, + hasUSBCConnectivity=False, + has5gSupport=False, + ): self.caseName = caseName self.comment = comment self.imageURL = imageURL @@ -41,119 +60,309 @@ class Device: # iOS iPods = [ - Device("iPodTouch5", "Device is an [iPod touch (5th generation)](https://support.apple.com/kb/SP657)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP657/sp657_ipod-touch_size.jpg", ["iPod5,1"], 4, (9, 16), "iPod touch (5th generation)", "iPod touch (5th generation)", 326, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a5", False, False), - Device("iPodTouch6", "Device is an [iPod touch (6th generation)](https://support.apple.com/kb/SP720)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP720/SP720-ipod-touch-specs-color-sg-2015.jpg", ["iPod7,1"], 4, (9, 16), "iPod touch (6th generation)", "iPod touch (6th generation)", 326, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a8", False, False), - Device("iPodTouch7", "Device is an [iPod touch (7th generation)](https://support.apple.com/kb/SP796)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP796/ipod-touch-7th-gen_2x.png", ["iPod9,1"], 4, (9, 16), "iPod touch (7th generation)", "iPod touch (7th generation)", 326, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a10Fusion", False, False), + Device("iPodTouch5", "Device is an [iPod touch (5th generation)](https://support.apple.com/kb/SP657)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP657/sp657_ipod-touch_size.jpg", ["iPod5,1"], 4, (9, 16), "iPod touch (5th generation)", "iPod touch (5th generation)", 326, + cpu="a5", cameras=1), + Device("iPodTouch6", "Device is an [iPod touch (6th generation)](https://support.apple.com/kb/SP720)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP720/SP720-ipod-touch-specs-color-sg-2015.jpg", ["iPod7,1"], 4, (9, 16), "iPod touch (6th generation)", "iPod touch (6th generation)", 326, + cpu="a8", cameras=1), + Device("iPodTouch7", "Device is an [iPod touch (7th generation)](https://support.apple.com/kb/SP796)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP796/ipod-touch-7th-gen_2x.png", ["iPod9,1"], 4, (9, 16), "iPod touch (7th generation)", "iPod touch (7th generation)", 326, + cpu="a10Fusion", cameras=1), ] iPhones = [ - Device("iPhone4", "Device is an [iPhone 4](https://support.apple.com/kb/SP587)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP643/sp643_iphone4s_color_black.jpg", ["iPhone3,1", "iPhone3,2", "iPhone3,3"], 3.5, (2, 3), "iPhone 4", "iPhone 4", 326, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a4", False, False), - Device("iPhone4s", "Device is an [iPhone 4s](https://support.apple.com/kb/SP643)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP643/sp643_iphone4s_color_black.jpg", ["iPhone4,1"], 3.5, (2, 3), "iPhone 4s", "iPhone 4s", 326, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a5", False, False), - Device("iPhone5", "Device is an [iPhone 5](https://support.apple.com/kb/SP655)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP655/sp655_iphone5_color.jpg", ["iPhone5,1", "iPhone5,2"], 4, (9, 16), "iPhone 5", "iPhone 5", 326, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a6", False, False), - Device("iPhone5c", "Device is an [iPhone 5c](https://support.apple.com/kb/SP684)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP684/SP684-color_yellow.jpg", ["iPhone5,3", "iPhone5,4"], 4, (9, 16), "iPhone 5c", "iPhone 5c", 326, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a6", False, False), - Device("iPhone5s", "Device is an [iPhone 5s](https://support.apple.com/kb/SP685)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP685/SP685-color_black.jpg", ["iPhone6,1", "iPhone6,2"], 4, (9, 16), "iPhone 5s", "iPhone 5s", 326, False, False, False, False, True, False, False, False, False, False, 0, False, 1, False, "a7", False, False), - Device("iPhone6", "Device is an [iPhone 6](https://support.apple.com/kb/SP705)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP705/SP705-iphone_6-mul.png", ["iPhone7,2"], 4.7, (9, 16), "iPhone 6", "iPhone 6", 326, False, False, False, False, True, False, False, False, False, False, 0, False, 1, False, "a8", False, False), - Device("iPhone6Plus", "Device is an [iPhone 6 Plus](https://support.apple.com/kb/SP706)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP706/SP706-iphone_6_plus-mul.png", ["iPhone7,1"], 5.5, (9, 16), "iPhone 6 Plus", "iPhone 6 Plus", 401, True, False, False, False, True, False, False, False, False, False, 0, False, 1, False, "a8", False, False), - Device("iPhone6s", "Device is an [iPhone 6s](https://support.apple.com/kb/SP726)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP726/SP726-iphone6s-gray-select-2015.png", ["iPhone8,1"], 4.7, (9, 16), "iPhone 6s", "iPhone 6s", 326, False, False, False, False, True, False, False, False, False, False, 0, True, 1, False, "a9", False, False), - Device("iPhone6sPlus", "Device is an [iPhone 6s Plus](https://support.apple.com/kb/SP727)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP727/SP727-iphone6s-plus-gray-select-2015.png", ["iPhone8,2"], 5.5, (9, 16), "iPhone 6s Plus", "iPhone 6s Plus", 401, True, False, False, False, True, False, False, False, False, False, 0, True, 1, False, "a9", False, False), - Device("iPhone7", "Device is an [iPhone 7](https://support.apple.com/kb/SP743)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP743/iphone7-black.png", ["iPhone9,1", "iPhone9,3"], 4.7, (9, 16), "iPhone 7", "iPhone 7", 326, False, False, False, False, True, False, False, False, False, False, 0, True, 1, False, "a10Fusion", False, False), - Device("iPhone7Plus", "Device is an [iPhone 7 Plus](https://support.apple.com/kb/SP744)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP744/iphone7-plus-black.png", ["iPhone9,2", "iPhone9,4"], 5.5, (9, 16), "iPhone 7 Plus", "iPhone 7 Plus", 401, True, False, False, False, True, False, False, False, False, False, 0, True, 12, False, "a10Fusion", False, False), - Device("iPhoneSE", "Device is an [iPhone SE](https://support.apple.com/kb/SP738)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP738/SP738.png", ["iPhone8,4"], 4, (9, 16), "iPhone SE", "iPhone SE", 326, False, False, False, False, True, False, False, False, False, False, 0, False, 1, False, "a9", False, False), - Device("iPhone8", "Device is an [iPhone 8](https://support.apple.com/kb/SP767)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP767/iphone8.png", ["iPhone10,1", "iPhone10,4"], 4.7, (9, 16), "iPhone 8", "iPhone 8", 326, False, False, False, False, True, False, False, True, False, False, 0, True, 1, False, "a11Bionic", False, False), - Device("iPhone8Plus", "Device is an [iPhone 8 Plus](https://support.apple.com/kb/SP768)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP768/iphone8plus.png", ["iPhone10,2", "iPhone10,5"], 5.5, (9, 16), "iPhone 8 Plus", "iPhone 8 Plus", 401, True, False, False, False, True, False, False, True, False, False, 0, True, 12, False, "a11Bionic", False, False), - Device("iPhoneX", "Device is an [iPhone X](https://support.apple.com/kb/SP770)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP770/iphonex.png", ["iPhone10,3", "iPhone10,6"], 5.8, (9, 19.5), "iPhone X", "iPhone X", 458, False, False, False, True, False, True, True, True, True, False, 0, True, 12, False, "a11Bionic", False, False), - Device("iPhoneXS", "Device is an [iPhone Xs](https://support.apple.com/kb/SP779)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP779/SP779-iphone-xs.jpg", ["iPhone11,2"], 5.8, (9, 19.5), "iPhone Xs", "iPhone XS", 458, False, False, False, True, False, True, True, True, True, False, 0, True, 12, False, "a12Bionic", False, False), - Device("iPhoneXSMax", "Device is an [iPhone Xs Max](https://support.apple.com/kb/SP780)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP780/SP780-iPhone-Xs-Max.jpg", ["iPhone11,4", "iPhone11,6"], 6.5, (9, 19.5), "iPhone Xs Max", "iPhone XS Max", 458, True, False, False, True, False, True, True, True, True, False, 0, True, 12, False, "a12Bionic", False, False), - Device("iPhoneXR", "Device is an [iPhone Xʀ](https://support.apple.com/kb/SP781)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP781/SP781-iPhone-xr.jpg", ["iPhone11,8"], 6.1, (9, 19.5), "iPhone Xʀ", "iPhone XR", 326, False, False, False, True, False, True, True, True, True, False, 0, False, 1, False, "a12Bionic", False, False), - Device("iPhone11", "Device is an [iPhone 11](https://support.apple.com/kb/SP804)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP804/sp804-iphone11_2x.png", ["iPhone12,1"], 6.1, (9, 19.5), "iPhone 11", "iPhone 11", 326, False, False, False, True, False, True, True, True, True, False, 0, False, 13, False, "a13Bionic", False, False), - Device("iPhone11Pro", "Device is an [iPhone 11 Pro](https://support.apple.com/kb/SP805)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP805/sp805-iphone11pro_2x.png", ["iPhone12,3"], 5.8, (9, 19.5), "iPhone 11 Pro", "iPhone 11 Pro", 458, False, False, True, True, False, True, True, True, True, False, 0, False, 123, False, "a13Bionic", False, False), - Device("iPhone11ProMax", "Device is an [iPhone 11 Pro Max](https://support.apple.com/kb/SP806)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP806/sp806-iphone11pro-max_2x.png", ["iPhone12,5"], 6.5, (9, 19.5), "iPhone 11 Pro Max", "iPhone 11 Pro Max", 458, True, False, True, True, False, True, True, True, True, False, 0, False, 123, False, "a13Bionic", False, False), - Device("iPhoneSE2", "Device is an [iPhone SE (2nd generation)](https://support.apple.com/kb/SP820)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP820/iphone-se-2nd-gen_2x.png", ["iPhone12,8"], 4.7, (9, 16), "iPhone SE (2nd generation)", "iPhone SE (2nd generation)", 326, False, False, False, False, True, False, False, True, False, False, 0, False, 1, False, "a13Bionic", False, False), - Device("iPhone12", "Device is an [iPhone 12](https://support.apple.com/kb/SP830)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP830/sp830-iphone12-ios14_2x.png", ["iPhone13,2"], 6.1, (9, 19.5), "iPhone 12", "iPhone 12", 460, False, False, False, True, False, True, True, True, True, False, 0, False, 13, False, "a14Bionic", False, True), - Device("iPhone12Mini", "Device is an [iPhone 12 mini](https://support.apple.com/kb/SP829)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP829/sp829-iphone12mini-ios14_2x.png", ["iPhone13,1"], 5.4, (9, 19.5), "iPhone 12 mini", "iPhone 12 mini", 476, False, False, False, True, False, True, True, True, True, False, 0, False, 13, False, "a14Bionic", False, True), - Device("iPhone12Pro", "Device is an [iPhone 12 Pro](https://support.apple.com/kb/SP831)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP831/iphone12pro-ios14_2x.png", ["iPhone13,3"], 6.1, (9, 19.5), "iPhone 12 Pro", "iPhone 12 Pro", 460, False, False, True, True, False, True, True, True, True, False, 0, False, 123, True, "a14Bionic", False, True), - Device("iPhone12ProMax", "Device is an [iPhone 12 Pro Max](https://support.apple.com/kb/SP832)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP832/iphone12promax-ios14_2x.png", ["iPhone13,4"], 6.7, (9, 19.5), "iPhone 12 Pro Max", "iPhone 12 Pro Max", 458, True, False, True, True, False, True, True, True, True, False, 0, False, 123, True, "a14Bionic", False, True), - Device("iPhone13", "Device is an [iPhone 13](https://support.apple.com/kb/SP851)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1092/en_US/iphone-13-240.png", ["iPhone14,5"], 6.1, (9, 19.5), "iPhone 13", "iPhone 13", 460, False, False, False, True, False, True, True, True, True, False, 0, False, 13, False, "a15Bionic", False, True), - Device("iPhone13Mini", "Device is an [iPhone 13 mini](https://support.apple.com/kb/SP847)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1091/en_US/iphone-13mini-240.png", ["iPhone14,4"], 5.4, (9, 19.5), "iPhone 13 mini", "iPhone 13 mini", 476, False, False, False, True, False, True, True, True, True, False, 0, False, 13, False, "a15Bionic", False, True), - Device("iPhone13Pro", "Device is an [iPhone 13 Pro](https://support.apple.com/kb/SP852)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1093/en_US/iphone-13pro-240.png", ["iPhone14,2"], 6.1, (9, 19.5), "iPhone 13 Pro", "iPhone 13 Pro", 460, False, False, True, True, False, True, True, True, True, False, 0, False, 123, True, "a15Bionic", False, True), - Device("iPhone13ProMax", "Device is an [iPhone 13 Pro Max](https://support.apple.com/kb/SP848)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1095/en_US/iphone-13promax-240.png", ["iPhone14,3"], 6.7, (9, 19.5), "iPhone 13 Pro Max", "iPhone 13 Pro Max", 458, True, False, True, True, False, True, True, True, True, False, 0, False, 123, True, "a15Bionic", False, True), - Device("iPhoneSE3", "Device is an [iPhone SE (3rd generation)](https://support.apple.com/kb/SP867)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1136/en_US/iphone-se-3rd-gen-colors-240.png", ["iPhone14,6"], 4.7, (9, 16), "iPhone SE (3rd generation)", "iPhone SE (3rd generation)", 326, False, False, False, False, True, False, False, True, False, False, 0, False, 1, False, "a15Bionic", False, True), - Device("iPhone14", "Device is an [iPhone 14](https://support.apple.com/kb/SP873)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP873/iphone-14_1_2x.png", ["iPhone14,7"], 6.1, (9, 19.5), "iPhone 14", "iPhone 14", 460, False, False, False, True, False, True, True, True, True, False, 0, False, 13, False, "a15Bionic", False, True), - Device("iPhone14Plus", "Device is an [iPhone 14 Plus](https://support.apple.com/kb/SP874)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP873/iphone-14_1_2x.png", ["iPhone14,8"], 6.7, (9, 19.5), "iPhone 14 Plus", "iPhone 14 Plus", 458, True, False, False, True, False, True, True, True, True, False, 0, False, 13, False, "a15Bionic", False, True), - Device("iPhone14Pro", "Device is an [iPhone 14 Pro](https://support.apple.com/kb/SP875)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP875/sp875-sp876-iphone14-pro-promax_2x.png", ["iPhone15,2"], 6.1, (9, 19.5), "iPhone 14 Pro", "iPhone 14 Pro", 460, False, False, True, True, False, True, True, True, True, True, 0, False, 123, True, "a16Bionic", False, True), - Device("iPhone14ProMax", "Device is an [iPhone 14 Pro Max](https://support.apple.com/kb/SP876)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP875/sp875-sp876-iphone14-pro-promax_2x.png", ["iPhone15,3"], 6.7, (9, 19.5), "iPhone 14 Pro Max", "iPhone 14 Pro Max", 458, True, False, True, True, False, True, True, True, True, True, 0, False, 123, True, "a16Bionic", False, True), - Device("iPhone15", "Device is an [iPhone 15](https://support.apple.com/en-us/111831)", "", ["iPhone15,4"], 6.1, (9, 19.5), "iPhone 15", "iPhone 15", 460, False, False, False, True, False, True, True, True, True, True, 0, False, 13, False, "a16Bionic", True, True), - Device("iPhone15Plus", "Device is an [iPhone 15 Plus](https://support.apple.com/en-us/111830)", "", ["iPhone15,5"], 6.7, (9, 19.5), "iPhone 15 Plus", "iPhone 15 Plus", 460, True, False, False, True, False, True, True, True, True, True, 0, False, 13, False, "a16Bionic", True, True), - Device("iPhone15Pro", "Device is an [iPhone 15 Pro](https://support.apple.com/en-us/111829)", "", ["iPhone16,1"], 6.1, (9, 19.5), "iPhone 15 Pro", "iPhone 15 Pro", 460, False, False, True, True, False, True, True, True, True, True, 0, False, 123, True, "a17Pro", True, True), - Device("iPhone15ProMax", "Device is an [iPhone 15 Pro Max](https://support.apple.com/en-us/111828)", "", ["iPhone16,2"], 6.7, (9, 19.5), "iPhone 15 Pro Max", "iPhone 15 Pro Max", 460, True, False, True, True, False, True, True, True, True, True, 0, False, 123, True, "a17Pro", True, True), - Device("iPhone16", "Device is an [iPhone 16]()", "", ["iPhone17,3"], 6.1, (9, 19.5), "iPhone 16", "iPhone 16", 460, False, False, False, True, False, True, True, True, True, True, 0, False, 13, False, "a18", True, True), - Device("iPhone16Plus", "Device is an [iPhone 16 Plus]()", "", ["iPhone17,4"], 6.7, (9, 19.5), "iPhone 16 Plus", "iPhone 16 Plus", 460, True, False, False, True, False, True, True, True, True, True, 0, False, 13, False, "a18", True, True), - Device("iPhone16Pro", "Device is an [iPhone 16 Pro]()", "", ["iPhone17,1"], 6.3, (9, 19.5), "iPhone 16 Pro", "iPhone 16 Pro", 460, False, False, True, True, False, True, True, True, True, True, 0, False, 123, True, "a18Pro", True, True), - Device("iPhone16ProMax", "Device is an [iPhone 16 Pro Max]()", "", ["iPhone17,2"], 6.9, (9, 19.5), "iPhone 16 Pro Max", "iPhone 16 Pro Max", 460, True, False, True, True, False, True, True, True, True, True, 0, False, 123, True, "a18Pro", True, True), - Device("iPhone16e", "Device is an [iPhone 16e](https://support.apple.com/en-us/122208)", "https://cdsassets.apple.com/live/7WUAS350/images/tech-specs/122208-iphone-16e.png", ["iPhone17,5"], 6.1, (9, 19.5), "iPhone 16e", "iPhone 16e", 460, False, False, False, True, False, True, True, True, True, False, 0, False, 1, False, "a18", True, True), - Device("iPhone17", "Device is an [iPhone 17]()", "", ["iPhone18,3"], 6.3, (9, 19.5), "iPhone 17", "iPhone 17", 460, False, False, False, True, False, True, True, True, True, True, 0, False, 13, False, "a19", True, True), - Device("iPhone17Pro", "Device is an [iPhone 17 Pro]()", "", ["iPhone18,1"], 6.3, (9, 19.5), "iPhone 17 Pro", "iPhone 17 Pro", 460, False, False, True, True, False, True, True, True, True, True, 0, False, 123, True, "a19Pro", True, True), - Device("iPhone17ProMax", "Device is an [iPhone 17 Pro Max]()", "", ["iPhone18,2"], 6.9, (9, 19.5), "iPhone 17 Pro Max", "iPhone 17 Pro Max", 460, True, False, True, True, False, True, True, True, True, True, 0, False, 123, True, "a19Pro", True, True), - Device("iPhoneAir", "Device is an [iPhone Air]()", "", ["iPhone18,4"], 6.5, (9, 19.5), "iPhone Air", "iPhone Air", 460, True, False, False, True, False, True, True, True, True, True, 0, False, 1, False, "a19Pro", True, True), - Device("iPhone17e", "Device is an [iPhone 17e]()", "", ["iPhone18,5"], 6.1, (9, 19.5), "iPhone 17e", "iPhone 17e", 460, False, False, False, True, False, True, True, True, True, False, 0, False, 1, False, "a19", True, True), + Device("iPhone4", "Device is an [iPhone 4](https://support.apple.com/kb/SP587)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP643/sp643_iphone4s_color_black.jpg", ["iPhone3,1", "iPhone3,2", "iPhone3,3"], 3.5, (2, 3), "iPhone 4", "iPhone 4", 326, + cpu="a4", cameras=1), + Device("iPhone4s", "Device is an [iPhone 4s](https://support.apple.com/kb/SP643)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP643/sp643_iphone4s_color_black.jpg", ["iPhone4,1"], 3.5, (2, 3), "iPhone 4s", "iPhone 4s", 326, + cpu="a5", cameras=1), + Device("iPhone5", "Device is an [iPhone 5](https://support.apple.com/kb/SP655)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP655/sp655_iphone5_color.jpg", ["iPhone5,1", "iPhone5,2"], 4, (9, 16), "iPhone 5", "iPhone 5", 326, + cpu="a6", cameras=1), + Device("iPhone5c", "Device is an [iPhone 5c](https://support.apple.com/kb/SP684)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP684/SP684-color_yellow.jpg", ["iPhone5,3", "iPhone5,4"], 4, (9, 16), "iPhone 5c", "iPhone 5c", 326, + cpu="a6", cameras=1), + Device("iPhone5s", "Device is an [iPhone 5s](https://support.apple.com/kb/SP685)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP685/SP685-color_black.jpg", ["iPhone6,1", "iPhone6,2"], 4, (9, 16), "iPhone 5s", "iPhone 5s", 326, + cpu="a7", hasTouchID=True, cameras=1), + Device("iPhone6", "Device is an [iPhone 6](https://support.apple.com/kb/SP705)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP705/SP705-iphone_6-mul.png", ["iPhone7,2"], 4.7, (9, 16), "iPhone 6", "iPhone 6", 326, + cpu="a8", hasTouchID=True, cameras=1), + Device("iPhone6Plus", "Device is an [iPhone 6 Plus](https://support.apple.com/kb/SP706)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP706/SP706-iphone_6_plus-mul.png", ["iPhone7,1"], 5.5, (9, 16), "iPhone 6 Plus", "iPhone 6 Plus", 401, + cpu="a8", isPlusFormFactor=True, hasTouchID=True, cameras=1), + Device("iPhone6s", "Device is an [iPhone 6s](https://support.apple.com/kb/SP726)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP726/SP726-iphone6s-gray-select-2015.png", ["iPhone8,1"], 4.7, (9, 16), "iPhone 6s", "iPhone 6s", 326, + cpu="a9", hasTouchID=True, hasForce3dTouchSupport=True, cameras=1), + Device("iPhone6sPlus", "Device is an [iPhone 6s Plus](https://support.apple.com/kb/SP727)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP727/SP727-iphone6s-plus-gray-select-2015.png", ["iPhone8,2"], 5.5, (9, 16), "iPhone 6s Plus", "iPhone 6s Plus", 401, + cpu="a9", isPlusFormFactor=True, hasTouchID=True, hasForce3dTouchSupport=True, cameras=1), + Device("iPhone7", "Device is an [iPhone 7](https://support.apple.com/kb/SP743)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP743/iphone7-black.png", ["iPhone9,1", "iPhone9,3"], 4.7, (9, 16), "iPhone 7", "iPhone 7", 326, + cpu="a10Fusion", hasTouchID=True, hasForce3dTouchSupport=True, cameras=1), + Device("iPhone7Plus", "Device is an [iPhone 7 Plus](https://support.apple.com/kb/SP744)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP744/iphone7-plus-black.png", ["iPhone9,2", "iPhone9,4"], 5.5, (9, 16), "iPhone 7 Plus", "iPhone 7 Plus", 401, + cpu="a10Fusion", isPlusFormFactor=True, hasTouchID=True, hasForce3dTouchSupport=True, + cameras=12), + Device("iPhoneSE", "Device is an [iPhone SE](https://support.apple.com/kb/SP738)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP738/SP738.png", ["iPhone8,4"], 4, (9, 16), "iPhone SE", "iPhone SE", 326, + cpu="a9", hasTouchID=True, cameras=1), + Device("iPhone8", "Device is an [iPhone 8](https://support.apple.com/kb/SP767)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP767/iphone8.png", ["iPhone10,1", "iPhone10,4"], 4.7, (9, 16), "iPhone 8", "iPhone 8", 326, + cpu="a11Bionic", hasTouchID=True, supportsWirelessCharging=True, hasForce3dTouchSupport=True, + cameras=1), + Device("iPhone8Plus", "Device is an [iPhone 8 Plus](https://support.apple.com/kb/SP768)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP768/iphone8plus.png", ["iPhone10,2", "iPhone10,5"], 5.5, (9, 16), "iPhone 8 Plus", "iPhone 8 Plus", 401, + cpu="a11Bionic", isPlusFormFactor=True, hasTouchID=True, supportsWirelessCharging=True, + hasForce3dTouchSupport=True, cameras=12), + Device("iPhoneX", "Device is an [iPhone X](https://support.apple.com/kb/SP770)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP770/iphonex.png", ["iPhone10,3", "iPhone10,6"], 5.8, (9, 19.5), "iPhone X", "iPhone X", 458, + cpu="a11Bionic", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasForce3dTouchSupport=True, + cameras=12), + Device("iPhoneXS", "Device is an [iPhone Xs](https://support.apple.com/kb/SP779)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP779/SP779-iphone-xs.jpg", ["iPhone11,2"], 5.8, (9, 19.5), "iPhone Xs", "iPhone XS", 458, + cpu="a12Bionic", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasForce3dTouchSupport=True, + cameras=12), + Device("iPhoneXSMax", "Device is an [iPhone Xs Max](https://support.apple.com/kb/SP780)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP780/SP780-iPhone-Xs-Max.jpg", ["iPhone11,4", "iPhone11,6"], 6.5, (9, 19.5), "iPhone Xs Max", "iPhone XS Max", 458, + cpu="a12Bionic", isPlusFormFactor=True, isXSeries=True, hasFaceID=True, + hasSensorHousing=True, supportsWirelessCharging=True, hasRoundedDisplayCorners=True, + hasForce3dTouchSupport=True, cameras=12), + Device("iPhoneXR", "Device is an [iPhone Xʀ](https://support.apple.com/kb/SP781)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP781/SP781-iPhone-xr.jpg", ["iPhone11,8"], 6.1, (9, 19.5), "iPhone Xʀ", "iPhone XR", 326, + cpu="a12Bionic", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=1), + Device("iPhone11", "Device is an [iPhone 11](https://support.apple.com/kb/SP804)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP804/sp804-iphone11_2x.png", ["iPhone12,1"], 6.1, (9, 19.5), "iPhone 11", "iPhone 11", 326, + cpu="a13Bionic", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=13), + Device("iPhone11Pro", "Device is an [iPhone 11 Pro](https://support.apple.com/kb/SP805)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP805/sp805-iphone11pro_2x.png", ["iPhone12,3"], 5.8, (9, 19.5), "iPhone 11 Pro", "iPhone 11 Pro", 458, + cpu="a13Bionic", isPro=True, isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=123), + Device("iPhone11ProMax", "Device is an [iPhone 11 Pro Max](https://support.apple.com/kb/SP806)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP806/sp806-iphone11pro-max_2x.png", ["iPhone12,5"], 6.5, (9, 19.5), "iPhone 11 Pro Max", "iPhone 11 Pro Max", 458, + cpu="a13Bionic", isPlusFormFactor=True, isPro=True, isXSeries=True, hasFaceID=True, + hasSensorHousing=True, supportsWirelessCharging=True, hasRoundedDisplayCorners=True, + cameras=123), + Device("iPhoneSE2", "Device is an [iPhone SE (2nd generation)](https://support.apple.com/kb/SP820)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP820/iphone-se-2nd-gen_2x.png", ["iPhone12,8"], 4.7, (9, 16), "iPhone SE (2nd generation)", "iPhone SE (2nd generation)", 326, + cpu="a13Bionic", hasTouchID=True, supportsWirelessCharging=True, cameras=1), + Device("iPhone12", "Device is an [iPhone 12](https://support.apple.com/kb/SP830)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP830/sp830-iphone12-ios14_2x.png", ["iPhone13,2"], 6.1, (9, 19.5), "iPhone 12", "iPhone 12", 460, + cpu="a14Bionic", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=13, has5gSupport=True), + Device("iPhone12Mini", "Device is an [iPhone 12 mini](https://support.apple.com/kb/SP829)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP829/sp829-iphone12mini-ios14_2x.png", ["iPhone13,1"], 5.4, (9, 19.5), "iPhone 12 mini", "iPhone 12 mini", 476, + cpu="a14Bionic", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=13, has5gSupport=True), + Device("iPhone12Pro", "Device is an [iPhone 12 Pro](https://support.apple.com/kb/SP831)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP831/iphone12pro-ios14_2x.png", ["iPhone13,3"], 6.1, (9, 19.5), "iPhone 12 Pro", "iPhone 12 Pro", 460, + cpu="a14Bionic", isPro=True, isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=123, + hasLidarSensor=True, has5gSupport=True), + Device("iPhone12ProMax", "Device is an [iPhone 12 Pro Max](https://support.apple.com/kb/SP832)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP832/iphone12promax-ios14_2x.png", ["iPhone13,4"], 6.7, (9, 19.5), "iPhone 12 Pro Max", "iPhone 12 Pro Max", 458, + cpu="a14Bionic", isPlusFormFactor=True, isPro=True, isXSeries=True, hasFaceID=True, + hasSensorHousing=True, supportsWirelessCharging=True, hasRoundedDisplayCorners=True, + cameras=123, hasLidarSensor=True, has5gSupport=True), + Device("iPhone13", "Device is an [iPhone 13](https://support.apple.com/kb/SP851)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1092/en_US/iphone-13-240.png", ["iPhone14,5"], 6.1, (9, 19.5), "iPhone 13", "iPhone 13", 460, + cpu="a15Bionic", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=13, has5gSupport=True), + Device("iPhone13Mini", "Device is an [iPhone 13 mini](https://support.apple.com/kb/SP847)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1091/en_US/iphone-13mini-240.png", ["iPhone14,4"], 5.4, (9, 19.5), "iPhone 13 mini", "iPhone 13 mini", 476, + cpu="a15Bionic", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=13, has5gSupport=True), + Device("iPhone13Pro", "Device is an [iPhone 13 Pro](https://support.apple.com/kb/SP852)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1093/en_US/iphone-13pro-240.png", ["iPhone14,2"], 6.1, (9, 19.5), "iPhone 13 Pro", "iPhone 13 Pro", 460, + cpu="a15Bionic", isPro=True, isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=123, + hasLidarSensor=True, has5gSupport=True), + Device("iPhone13ProMax", "Device is an [iPhone 13 Pro Max](https://support.apple.com/kb/SP848)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1095/en_US/iphone-13promax-240.png", ["iPhone14,3"], 6.7, (9, 19.5), "iPhone 13 Pro Max", "iPhone 13 Pro Max", 458, + cpu="a15Bionic", isPlusFormFactor=True, isPro=True, isXSeries=True, hasFaceID=True, + hasSensorHousing=True, supportsWirelessCharging=True, hasRoundedDisplayCorners=True, + cameras=123, hasLidarSensor=True, has5gSupport=True), + Device("iPhoneSE3", "Device is an [iPhone SE (3rd generation)](https://support.apple.com/kb/SP867)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1136/en_US/iphone-se-3rd-gen-colors-240.png", ["iPhone14,6"], 4.7, (9, 16), "iPhone SE (3rd generation)", "iPhone SE (3rd generation)", 326, + cpu="a15Bionic", hasTouchID=True, supportsWirelessCharging=True, cameras=1, + has5gSupport=True), + Device("iPhone14", "Device is an [iPhone 14](https://support.apple.com/kb/SP873)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP873/iphone-14_1_2x.png", ["iPhone14,7"], 6.1, (9, 19.5), "iPhone 14", "iPhone 14", 460, + cpu="a15Bionic", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=13, has5gSupport=True), + Device("iPhone14Plus", "Device is an [iPhone 14 Plus](https://support.apple.com/kb/SP874)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP873/iphone-14_1_2x.png", ["iPhone14,8"], 6.7, (9, 19.5), "iPhone 14 Plus", "iPhone 14 Plus", 458, + cpu="a15Bionic", isPlusFormFactor=True, isXSeries=True, hasFaceID=True, + hasSensorHousing=True, supportsWirelessCharging=True, hasRoundedDisplayCorners=True, + cameras=13, has5gSupport=True), + Device("iPhone14Pro", "Device is an [iPhone 14 Pro](https://support.apple.com/kb/SP875)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP875/sp875-sp876-iphone14-pro-promax_2x.png", ["iPhone15,2"], 6.1, (9, 19.5), "iPhone 14 Pro", "iPhone 14 Pro", 460, + cpu="a16Bionic", isPro=True, isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasDynamicIsland=True, + cameras=123, hasLidarSensor=True, has5gSupport=True), + Device("iPhone14ProMax", "Device is an [iPhone 14 Pro Max](https://support.apple.com/kb/SP876)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP875/sp875-sp876-iphone14-pro-promax_2x.png", ["iPhone15,3"], 6.7, (9, 19.5), "iPhone 14 Pro Max", "iPhone 14 Pro Max", 458, + cpu="a16Bionic", isPlusFormFactor=True, isPro=True, isXSeries=True, hasFaceID=True, + hasSensorHousing=True, supportsWirelessCharging=True, hasRoundedDisplayCorners=True, + hasDynamicIsland=True, cameras=123, hasLidarSensor=True, has5gSupport=True), + Device("iPhone15", "Device is an [iPhone 15](https://support.apple.com/en-us/111831)", "", ["iPhone15,4"], 6.1, (9, 19.5), "iPhone 15", "iPhone 15", 460, + cpu="a16Bionic", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasDynamicIsland=True, + cameras=13, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPhone15Plus", "Device is an [iPhone 15 Plus](https://support.apple.com/en-us/111830)", "", ["iPhone15,5"], 6.7, (9, 19.5), "iPhone 15 Plus", "iPhone 15 Plus", 460, + cpu="a16Bionic", isPlusFormFactor=True, isXSeries=True, hasFaceID=True, + hasSensorHousing=True, supportsWirelessCharging=True, hasRoundedDisplayCorners=True, + hasDynamicIsland=True, cameras=13, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPhone15Pro", "Device is an [iPhone 15 Pro](https://support.apple.com/en-us/111829)", "", ["iPhone16,1"], 6.1, (9, 19.5), "iPhone 15 Pro", "iPhone 15 Pro", 460, + cpu="a17Pro", isPro=True, isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasDynamicIsland=True, + cameras=123, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPhone15ProMax", "Device is an [iPhone 15 Pro Max](https://support.apple.com/en-us/111828)", "", ["iPhone16,2"], 6.7, (9, 19.5), "iPhone 15 Pro Max", "iPhone 15 Pro Max", 460, + cpu="a17Pro", isPlusFormFactor=True, isPro=True, isXSeries=True, hasFaceID=True, + hasSensorHousing=True, supportsWirelessCharging=True, hasRoundedDisplayCorners=True, + hasDynamicIsland=True, cameras=123, hasLidarSensor=True, hasUSBCConnectivity=True, + has5gSupport=True), + Device("iPhone16", "Device is an [iPhone 16]()", "", ["iPhone17,3"], 6.1, (9, 19.5), "iPhone 16", "iPhone 16", 460, + cpu="a18", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasDynamicIsland=True, + cameras=13, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPhone16Plus", "Device is an [iPhone 16 Plus]()", "", ["iPhone17,4"], 6.7, (9, 19.5), "iPhone 16 Plus", "iPhone 16 Plus", 460, + cpu="a18", isPlusFormFactor=True, isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasDynamicIsland=True, + cameras=13, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPhone16Pro", "Device is an [iPhone 16 Pro]()", "", ["iPhone17,1"], 6.3, (9, 19.5), "iPhone 16 Pro", "iPhone 16 Pro", 460, + cpu="a18Pro", isPro=True, isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasDynamicIsland=True, + cameras=123, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPhone16ProMax", "Device is an [iPhone 16 Pro Max]()", "", ["iPhone17,2"], 6.9, (9, 19.5), "iPhone 16 Pro Max", "iPhone 16 Pro Max", 460, + cpu="a18Pro", isPlusFormFactor=True, isPro=True, isXSeries=True, hasFaceID=True, + hasSensorHousing=True, supportsWirelessCharging=True, hasRoundedDisplayCorners=True, + hasDynamicIsland=True, cameras=123, hasLidarSensor=True, hasUSBCConnectivity=True, + has5gSupport=True), + Device("iPhone16e", "Device is an [iPhone 16e](https://support.apple.com/en-us/122208)", "https://cdsassets.apple.com/live/7WUAS350/images/tech-specs/122208-iphone-16e.png", ["iPhone17,5"], 6.1, (9, 19.5), "iPhone 16e", "iPhone 16e", 460, + cpu="a18", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=1, + hasUSBCConnectivity=True, has5gSupport=True), + Device("iPhone17", "Device is an [iPhone 17]()", "", ["iPhone18,3"], 6.3, (9, 19.5), "iPhone 17", "iPhone 17", 460, + cpu="a19", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasDynamicIsland=True, + cameras=13, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPhone17Pro", "Device is an [iPhone 17 Pro]()", "", ["iPhone18,1"], 6.3, (9, 19.5), "iPhone 17 Pro", "iPhone 17 Pro", 460, + cpu="a19Pro", isPro=True, isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasDynamicIsland=True, + cameras=123, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPhone17ProMax", "Device is an [iPhone 17 Pro Max]()", "", ["iPhone18,2"], 6.9, (9, 19.5), "iPhone 17 Pro Max", "iPhone 17 Pro Max", 460, + cpu="a19Pro", isPlusFormFactor=True, isPro=True, isXSeries=True, hasFaceID=True, + hasSensorHousing=True, supportsWirelessCharging=True, hasRoundedDisplayCorners=True, + hasDynamicIsland=True, cameras=123, hasLidarSensor=True, hasUSBCConnectivity=True, + has5gSupport=True), + Device("iPhoneAir", "Device is an [iPhone Air]()", "", ["iPhone18,4"], 6.5, (9, 19.5), "iPhone Air", "iPhone Air", 460, + cpu="a19Pro", isPlusFormFactor=True, isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, hasDynamicIsland=True, + cameras=1, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPhone17e", "Device is an [iPhone 17e]()", "", ["iPhone18,5"], 6.1, (9, 19.5), "iPhone 17e", "iPhone 17e", 460, + cpu="a19", isXSeries=True, hasFaceID=True, hasSensorHousing=True, + supportsWirelessCharging=True, hasRoundedDisplayCorners=True, cameras=1, + hasUSBCConnectivity=True, has5gSupport=True), ] iPads = [ - Device("iPad2", "Device is an [iPad 2](https://support.apple.com/kb/SP622)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP622/SP622_01-ipad2-mul.png", ["iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4"], 9.7, (3, 4), "iPad 2", "iPad 2", 132, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a5", False, False), - Device("iPad3", "Device is an [iPad (3rd generation)](https://support.apple.com/kb/SP647)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP662/sp662_ipad-4th-gen_color.jpg", ["iPad3,1", "iPad3,2", "iPad3,3"], 9.7, (3, 4), "iPad (3rd generation)", "iPad (3rd generation)", 264, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a5X", False, False), - Device("iPad4", "Device is an [iPad (4th generation)](https://support.apple.com/kb/SP662)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP662/sp662_ipad-4th-gen_color.jpg", ["iPad3,4", "iPad3,5", "iPad3,6"], 9.7, (3, 4), "iPad (4th generation)", "iPad (4th generation)", 264, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a6X", False, False), - Device("iPadAir", "Device is an [iPad Air](https://support.apple.com/kb/SP692)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP692/SP692-specs_color-mul.png", ["iPad4,1", "iPad4,2", "iPad4,3"], 9.7, (3, 4), "iPad Air", "iPad Air", 264, False, False, False, False, False, False, False, False, False, False, 0, False, 1, False, "a7", False, False), - Device("iPadAir2", "Device is an [iPad Air 2](https://support.apple.com/kb/SP708)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP708/SP708-space_gray.jpeg", ["iPad5,3", "iPad5,4"], 9.7, (3, 4), "iPad Air 2", "iPad Air 2", 264, False, False, False, False, True, False, False, False, False, False, 0, False, 1, False, "a8X", False, False), - Device("iPad5", "Device is an [iPad (5th generation)](https://support.apple.com/kb/SP751)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP751/ipad_5th_generation.png", ["iPad6,11", "iPad6,12"], 9.7, (3, 4), "iPad (5th generation)", "iPad (5th generation)", 264, False, False, False, False, True, False, False, False, False, False, 0, False, 1, False, "a9", False, False), - Device("iPad6", "Device is an [iPad (6th generation)](https://support.apple.com/kb/SP774)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP774/sp774-ipad-6-gen_2x.png", ["iPad7,5", "iPad7,6"], 9.7, (3, 4), "iPad (6th generation)", "iPad (6th generation)", 264, False, False, False, False, True, False, False, False, False, False, 1, False, 1, False, "a10Fusion", False, False), - Device("iPadAir3", "Device is an [iPad Air (3rd generation)](https://support.apple.com/kb/SP787)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP787/ipad-air-2019.jpg", ["iPad11,3", "iPad11,4"], 10.5, (3, 4), "iPad Air (3rd generation)", "iPad Air (3rd generation)", 264, False, False, False, False, True, False, False, False, False, False, 1, False, 1, False, "a12Bionic", False, False), - Device("iPad7", "Device is an [iPad (7th generation)](https://support.apple.com/kb/SP807)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP807/sp807-ipad-7th-gen_2x.png", ["iPad7,11", "iPad7,12"], 10.2, (3, 4), "iPad (7th generation)", "iPad (7th generation)", 264, False, False, False, False, True, False, False, False, False, False, 1, False, 1, False, "a10Fusion", False, False), - Device("iPad8", "Device is an [iPad (8th generation)](https://support.apple.com/kb/SP822)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP822/sp822-ipad-8gen_2x.png", ["iPad11,6", "iPad11,7"], 10.2, (3, 4), "iPad (8th generation)", "iPad (8th generation)", 264, False, False, False, False, True, False, False, False, False, False, 1, False, 1, False, "a12Bionic", False, False), - Device("iPad9", "Device is an [iPad (9th generation)](https://support.apple.com/kb/SP849)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1096/en_US/ipad-9gen-240.png", ["iPad12,1", "iPad12,2"], 10.2, (3, 4), "iPad (9th generation)", "iPad (9th generation)", 264, False, False, False, False, True, False, False, False, False, False, 1, False, 1, False, "a13Bionic", False, False), - Device("iPad10", "Device is an [iPad (10th generation)](https://support.apple.com/kb/SP884)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP884/sp884-ipad-10gen-960_2x.png", ["iPad13,18", "iPad13,19"], 10.9, (41, 59), "iPad (10th generation)", "iPad (10th generation)", 264, False, False, False, False, True, False, False, False, True, False, 13, False, 1, False, "a14Bionic", True, True), - Device("iPadA16", "Device is an [iPad (A16)]()", "", ["iPad15,7", "iPad15,8"], 10.9, (41, 59), "iPad (A16)", "iPad (A16)", 264, False, False, False, False, True, False, False, False, True, False, 13, False, 1, False, "a16Bionic", True, True), - Device("iPadAir4", "Device is an [iPad Air (4th generation)](https://support.apple.com/kb/SP828)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP828/sp828ipad-air-ipados14-960_2x.png", ["iPad13,1", "iPad13,2"], 10.9, (41, 59), "iPad Air (4th generation)", "iPad Air (4th generation)", 264, False, False, False, False, True, False, False, False, True, False, 23, False, 1, False, "a14Bionic", True, False), - Device("iPadAir5", "Device is an [iPad Air (5th generation)](https://support.apple.com/kb/SP866)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP866/sp866-ipad-air-5gen_2x.png", ["iPad13,16", "iPad13,17"], 10.9, (41, 59), "iPad Air (5th generation)", "iPad Air (5th generation)", 264, False, False, False, False, True, False, False, False, True, False, 23, False, 1, False, "m1", True, True), - Device("iPadAir11M2", "Device is an [iPad Air 11-inch (M2)](https://support.apple.com/en-us/119894)", "https://cdsassets.apple.com/content/services/pub/image?productid=301027&size=240x240", ["iPad14,8", "iPad14,9"], 10.9, (59, 41), "iPad Air (11-inch) (M2)", "iPad Air (11-inch) (M2)", 264, False, False, False, False, True, False, False, False, True, False, 34, False, 1, False, "m2", True, True), - Device("iPadAir13M2", "Device is an [iPad Air 13-inch (M2)](https://support.apple.com/en-us/119893)", "https://cdsassets.apple.com/content/services/pub/image?productid=301029&size=240x240", ["iPad14,10", "iPad14,11"], 12.9, (683, 512), "iPad Air (13-inch) (M2)", "iPad Air (13-inch) (M2)", 264, False, False, False, False, True, False, False, False, True, False, 34, False, 1, False, "m2", True, True), - Device("iPadAir11M3", "Device is an [iPad Air 11-inch (M3)]()", "https://cdsassets.apple.com/content/services/pub/image?productid=301027&size=240x240", ["iPad15,3", "iPad15,4"], 10.9, (59, 41), "iPad Air (11-inch) (M3)", "iPad Air (11-inch) (M3)", 264, False, False, False, False, True, False, False, False, True, False, 34, False, 1, False, "m3", True, True), - Device("iPadAir13M3", "Device is an [iPad Air 13-inch (M3)]()", "https://cdsassets.apple.com/content/services/pub/image?productid=301029&size=240x240", ["iPad15,5", "iPad15,6"], 12.9, (683, 512), "iPad Air (13-inch) (M3)", "iPad Air (13-inch) (M3)", 264, False, False, False, False, True, False, False, False, True, False, 34, False, 1, False, "m3", True, True), - Device("iPadAir11M4", "Device is an [iPad Air 11-inch (M4)]()", "", ["iPad16,8", "iPad16,9"], 10.9, (59, 41), "iPad Air (11-inch) (M4)", "iPad Air (11-inch) (M4)", 264, False, False, False, False, True, False, False, False, True, False, 34, False, 1, False, "m4", True, True), - Device("iPadAir13M4", "Device is an [iPad Air 13-inch (M4)]()", "", ["iPad16,10", "iPad16,11"], 12.9, (683, 512), "iPad Air (13-inch) (M4)", "iPad Air (13-inch) (M4)", 264, False, False, False, False, True, False, False, False, True, False, 34, False, 1, False, "m4", True, True), - Device("iPadMini", "Device is an [iPad mini](https://support.apple.com/kb/SP661)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP661/sp661_ipad_mini_color.jpg", ["iPad2,5", "iPad2,6", "iPad2,7"], 7.9, (3, 4), "iPad mini", "iPad mini", 163, False, True, False, False, False, False, False, False, False, False, 0, False, 1, False, "a5", False, False), - Device("iPadMini2", "Device is an [iPad mini 2](https://support.apple.com/kb/SP693)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP693/SP693-specs_color-mul.png", ["iPad4,4", "iPad4,5", "iPad4,6"], 7.9, (3, 4), "iPad mini 2", "iPad mini 2", 326, False, True, False, False, False, False, False, False, False, False, 0, False, 1, False, "a7", False, False), - Device("iPadMini3", "Device is an [iPad mini 3](https://support.apple.com/kb/SP709)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP709/SP709-space_gray.jpeg", ["iPad4,7", "iPad4,8", "iPad4,9"], 7.9, (3, 4), "iPad mini 3", "iPad mini 3", 326, False, True, False, False, True, False, False, False, False, False, 0, False, 1, False, "a7", False, False), - Device("iPadMini4", "Device is an [iPad mini 4](https://support.apple.com/kb/SP725)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP725/SP725ipad-mini-4.png", ["iPad5,1", "iPad5,2"], 7.9, (3, 4), "iPad mini 4", "iPad mini 4", 326, False, True, False, False, True, False, False, False, False, False, 0, False, 1, False, "a8", False, False), - Device("iPadMini5", "Device is an [iPad mini (5th generation)](https://support.apple.com/kb/SP788)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP788/ipad-mini-2019.jpg", ["iPad11,1", "iPad11,2"], 7.9, (3, 4), "iPad mini (5th generation)", "iPad mini (5th generation)", 326, False, True, False, False, True, False, False, False, False, False, 1, False, 1, False, "a12Bionic", False, False), - Device("iPadMini6", "Device is an [iPad mini (6th generation)](https://support.apple.com/kb/SP850)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1097/en_US/ipad-mini-6gen-240.png", ["iPad14,1", "iPad14,2"], 8.3, (744, 1133), "iPad mini (6th generation)", "iPad mini (6th generation)", 326, False, True, False, False, True, False, False, False, True, False, 23, False, 1, False, "a15Bionic", True, True), - Device("iPadMiniA17Pro", "Device is an [iPad mini (A17 Pro)](https://support.apple.com/en-us/121456)", "https://cdsassets.apple.com/live/7WUAS350/images/tech-specs/iPad_mini_A17_Pro_Wi-Fi_Lineup_Print__USEN.png", ["iPad16,1", "iPad16,2"], 8.3, (744, 1133), "iPad mini (A17 Pro)", "iPad mini (A17 Pro)", 326, False, True, False, False, True, False, False, False, True, False, 34, False, 1, False, "a17Pro", True, True), - Device("iPadPro9Inch", "Device is an [iPad Pro 9.7-inch](https://support.apple.com/kb/SP739)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP739/SP739.png", ["iPad6,3", "iPad6,4"], 9.7, (3, 4), "iPad Pro (9.7-inch)", "iPad Pro (9.7-inch)", 264, False, False, True, False, True, False, False, False, False, False, 1, False, 1, False, "a9X", False, False), - Device("iPadPro12Inch", "Device is an [iPad Pro 12-inch](https://support.apple.com/kb/SP723)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP723/SP723-iPad_Pro_2x.png", ["iPad6,7", "iPad6,8"], 12.9, (3, 4), "iPad Pro (12.9-inch)", "iPad Pro (12.9-inch)", 264, False, False, True, False, True, False, False, False, False, False, 1, False, 1, False, "a9X", False, False), - Device("iPadPro12Inch2", "Device is an [iPad Pro 12-inch (2nd generation)](https://support.apple.com/kb/SP761)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP761/ipad-pro-12in-hero-201706.png", ["iPad7,1", "iPad7,2"], 12.9, (3, 4), "iPad Pro (12.9-inch) (2nd generation)", "iPad Pro (12.9-inch) (2nd generation)", 264, False, False, True, False, True, False, False, False, False, False, 1, False, 1, False, "a10XFusion", False, False), - Device("iPadPro10Inch", "Device is an [iPad Pro 10.5-inch](https://support.apple.com/kb/SP762)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP761/ipad-pro-10in-hero-201706.png", ["iPad7,3", "iPad7,4"], 10.5, (3, 4), "iPad Pro (10.5-inch)", "iPad Pro (10.5-inch)", 264, False, False, True, False, True, False, False, False, False, False, 1, False, 1, False, "a10XFusion", False, False), - Device("iPadPro11Inch", "Device is an [iPad Pro 11-inch](https://support.apple.com/kb/SP784)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP784/ipad-pro-11-2018_2x.png", ["iPad8,1", "iPad8,2", "iPad8,3", "iPad8,4"], 11.0, (139, 199), "iPad Pro (11-inch)", "iPad Pro (11-inch)", 264, False, False, True, False, False, True, False, False, True, False, 23, False, 1, False, "a12XBionic", True, False), - Device("iPadPro12Inch3", "Device is an [iPad Pro 12.9-inch (3rd generation)](https://support.apple.com/kb/SP785)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP785/ipad-pro-12-2018_2x.png", ["iPad8,5", "iPad8,6", "iPad8,7", "iPad8,8"], 12.9, (512, 683), "iPad Pro (12.9-inch) (3rd generation)", "iPad Pro (12.9-inch) (3rd generation)", 264, False, False, True, False, False, True, False, False, True, False, 23, False, 1, False, "a12XBionic", True, False), - Device("iPadPro11Inch2", "Device is an [iPad Pro 11-inch (2nd generation)](https://support.apple.com/kb/SP814)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP814/ipad-pro-11-2020.jpeg", ["iPad8,9", "iPad8,10"], 11.0, (139, 199), "iPad Pro (11-inch) (2nd generation)", "iPad Pro (11-inch) (2nd generation)", 264, False, False, True, False, False, True, False, False, True, False, 23, False, 13, True, "a12ZBionic", True, False), - Device("iPadPro12Inch4", "Device is an [iPad Pro 12.9-inch (4th generation)](https://support.apple.com/kb/SP815)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP815/ipad-pro-12-2020.jpeg", ["iPad8,11", "iPad8,12"], 12.9, (512, 683), "iPad Pro (12.9-inch) (4th generation)", "iPad Pro (12.9-inch) (4th generation)", 264, False, False, True, False, False, True, False, False, True, False, 23, False, 13, True, "a12ZBionic", True, False), - Device("iPadPro11Inch3", "Device is an [iPad Pro 11-inch (3rd generation)](https://support.apple.com/kb/SP843)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP843/ipad-pro-11_2x.png", ["iPad13,4", "iPad13,5", "iPad13,6", "iPad13,7"], 11.0, (139, 199), "iPad Pro (11-inch) (3rd generation)", "iPad Pro (11-inch) (3rd generation)", 264, False, False, True, False, False, True, False, False, True, False, 23, False, 13, True, "m1", True, True), - Device("iPadPro12Inch5", "Device is an [iPad Pro 12.9-inch (5th generation)](https://support.apple.com/kb/SP844)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP844/ipad-pro-12-9_2x.png", ["iPad13,8", "iPad13,9", "iPad13,10", "iPad13,11"], 12.9, (512, 683), "iPad Pro (12.9-inch) (5th generation)", "iPad Pro (12.9-inch) (5th generation)", 264, False, False, True, False, False, True, False, False, True, False, 23, False, 13, True, "m1", True, True), - Device("iPadPro11Inch4", "Device is an [iPad Pro 11-inch (4th generation)](https://support.apple.com/kb/SP882)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP882/ipad-pro-4gen-mainimage_2x.png", ["iPad14,3", "iPad14,4"], 11.0, (139, 199), "iPad Pro (11-inch) (4th generation)", "iPad Pro (11-inch) (4th generation)", 264, False, False, True, False, False, True, False, False, True, False, 23, False, 13, True, "m2", True, True), - Device("iPadPro12Inch6", "Device is an [iPad Pro 12.9-inch (6th generation)](https://support.apple.com/kb/SP883)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP882/ipad-pro-4gen-mainimage_2x.png", ["iPad14,5", "iPad14,6"], 12.9, (512, 683), "iPad Pro (12.9-inch) (6th generation)", "iPad Pro (12.9-inch) (6th generation)", 264, False, False, True, False, False, True, False, False, True, False, 23, False, 13, True, "m2", True, True), - Device("iPadPro11M4", "Device is an [iPad Pro 11-inch (M4)](https://support.apple.com/en-us/119892)", "https://cdsassets.apple.com/content/services/pub/image?productid=301031&size=240x240", ["iPad16,3", "iPad16,4"], 11.0, (605, 417), "iPad Pro (11-inch) (M4)", "iPad Pro (11-inch) (M4)", 264, False, False, True, False, False, True, False, False, True, False, 34, False, 1, True, "m4", True, True), - Device("iPadPro13M4", "Device is an [iPad Pro 13-inch (M4)](https://support.apple.com/en-us/119891)", "https://cdsassets.apple.com/content/services/pub/image?productid=301033&size=240x240", ["iPad16,5", "iPad16,6"], 13.0, (4, 3), "iPad Pro (13-inch) (M4)", "iPad Pro (13-inch) (M4)", 264, False, False, True, False, False, True, False, False, True, False, 34, False, 1, True, "m4", True, True), - Device("iPadPro11M5", "Device is an [iPad Pro 11-inch (M5)](https://support.apple.com/en-us/125406)", "https://cdsassets.apple.com/content/services/pub/image?productid=301271&size=240x240", ["iPad17,1", "iPad17,2"], 11.0, (605, 417), "iPad Pro (11-inch) (M5)", "iPad Pro (11-inch) (M5)", 264, False, False, True, False, False, True, False, False, True, False, 234, False, 1, True, "m5", True, True), - Device("iPadPro13M5", "Device is an [iPad Pro 13-inch (M5)](https://support.apple.com/en-us/125406)", "https://cdsassets.apple.com/content/services/pub/image?productid=301273&size=240x240", ["iPad17,3", "iPad17,4"], 13.0, (4, 3), "iPad Pro (13-inch) (M5)", "iPad Pro (13-inch) (M5)", 264, False, False, True, False, False, True, False, False, True, False, 234, False, 1, True, "m5", True, True), + Device("iPad2", "Device is an [iPad 2](https://support.apple.com/kb/SP622)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP622/SP622_01-ipad2-mul.png", ["iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4"], 9.7, (3, 4), "iPad 2", "iPad 2", 132, + cpu="a5", cameras=1), + Device("iPad3", "Device is an [iPad (3rd generation)](https://support.apple.com/kb/SP647)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP662/sp662_ipad-4th-gen_color.jpg", ["iPad3,1", "iPad3,2", "iPad3,3"], 9.7, (3, 4), "iPad (3rd generation)", "iPad (3rd generation)", 264, + cpu="a5X", cameras=1), + Device("iPad4", "Device is an [iPad (4th generation)](https://support.apple.com/kb/SP662)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP662/sp662_ipad-4th-gen_color.jpg", ["iPad3,4", "iPad3,5", "iPad3,6"], 9.7, (3, 4), "iPad (4th generation)", "iPad (4th generation)", 264, + cpu="a6X", cameras=1), + Device("iPadAir", "Device is an [iPad Air](https://support.apple.com/kb/SP692)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP692/SP692-specs_color-mul.png", ["iPad4,1", "iPad4,2", "iPad4,3"], 9.7, (3, 4), "iPad Air", "iPad Air", 264, + cpu="a7", cameras=1), + Device("iPadAir2", "Device is an [iPad Air 2](https://support.apple.com/kb/SP708)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP708/SP708-space_gray.jpeg", ["iPad5,3", "iPad5,4"], 9.7, (3, 4), "iPad Air 2", "iPad Air 2", 264, + cpu="a8X", hasTouchID=True, cameras=1), + Device("iPad5", "Device is an [iPad (5th generation)](https://support.apple.com/kb/SP751)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP751/ipad_5th_generation.png", ["iPad6,11", "iPad6,12"], 9.7, (3, 4), "iPad (5th generation)", "iPad (5th generation)", 264, + cpu="a9", hasTouchID=True, cameras=1), + Device("iPad6", "Device is an [iPad (6th generation)](https://support.apple.com/kb/SP774)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP774/sp774-ipad-6-gen_2x.png", ["iPad7,5", "iPad7,6"], 9.7, (3, 4), "iPad (6th generation)", "iPad (6th generation)", 264, + cpu="a10Fusion", hasTouchID=True, applePencilSupport=1, cameras=1), + Device("iPadAir3", "Device is an [iPad Air (3rd generation)](https://support.apple.com/kb/SP787)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP787/ipad-air-2019.jpg", ["iPad11,3", "iPad11,4"], 10.5, (3, 4), "iPad Air (3rd generation)", "iPad Air (3rd generation)", 264, + cpu="a12Bionic", hasTouchID=True, applePencilSupport=1, cameras=1), + Device("iPad7", "Device is an [iPad (7th generation)](https://support.apple.com/kb/SP807)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP807/sp807-ipad-7th-gen_2x.png", ["iPad7,11", "iPad7,12"], 10.2, (3, 4), "iPad (7th generation)", "iPad (7th generation)", 264, + cpu="a10Fusion", hasTouchID=True, applePencilSupport=1, cameras=1), + Device("iPad8", "Device is an [iPad (8th generation)](https://support.apple.com/kb/SP822)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP822/sp822-ipad-8gen_2x.png", ["iPad11,6", "iPad11,7"], 10.2, (3, 4), "iPad (8th generation)", "iPad (8th generation)", 264, + cpu="a12Bionic", hasTouchID=True, applePencilSupport=1, cameras=1), + Device("iPad9", "Device is an [iPad (9th generation)](https://support.apple.com/kb/SP849)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1096/en_US/ipad-9gen-240.png", ["iPad12,1", "iPad12,2"], 10.2, (3, 4), "iPad (9th generation)", "iPad (9th generation)", 264, + cpu="a13Bionic", hasTouchID=True, applePencilSupport=1, cameras=1), + Device("iPad10", "Device is an [iPad (10th generation)](https://support.apple.com/kb/SP884)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP884/sp884-ipad-10gen-960_2x.png", ["iPad13,18", "iPad13,19"], 10.9, (41, 59), "iPad (10th generation)", "iPad (10th generation)", 264, + cpu="a14Bionic", hasTouchID=True, hasRoundedDisplayCorners=True, applePencilSupport=13, + cameras=1, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadA16", "Device is an [iPad (A16)]()", "", ["iPad15,7", "iPad15,8"], 10.9, (41, 59), "iPad (A16)", "iPad (A16)", 264, + cpu="a16Bionic", hasTouchID=True, hasRoundedDisplayCorners=True, applePencilSupport=13, + cameras=1, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadAir4", "Device is an [iPad Air (4th generation)](https://support.apple.com/kb/SP828)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP828/sp828ipad-air-ipados14-960_2x.png", ["iPad13,1", "iPad13,2"], 10.9, (41, 59), "iPad Air (4th generation)", "iPad Air (4th generation)", 264, + cpu="a14Bionic", hasTouchID=True, hasRoundedDisplayCorners=True, applePencilSupport=23, + cameras=1, hasUSBCConnectivity=True), + Device("iPadAir5", "Device is an [iPad Air (5th generation)](https://support.apple.com/kb/SP866)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP866/sp866-ipad-air-5gen_2x.png", ["iPad13,16", "iPad13,17"], 10.9, (41, 59), "iPad Air (5th generation)", "iPad Air (5th generation)", 264, + cpu="m1", hasTouchID=True, hasRoundedDisplayCorners=True, applePencilSupport=23, cameras=1, + hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadAir11M2", "Device is an [iPad Air 11-inch (M2)](https://support.apple.com/en-us/119894)", "https://cdsassets.apple.com/content/services/pub/image?productid=301027&size=240x240", ["iPad14,8", "iPad14,9"], 10.9, (59, 41), "iPad Air (11-inch) (M2)", "iPad Air (11-inch) (M2)", 264, + cpu="m2", hasTouchID=True, hasRoundedDisplayCorners=True, applePencilSupport=34, cameras=1, + hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadAir13M2", "Device is an [iPad Air 13-inch (M2)](https://support.apple.com/en-us/119893)", "https://cdsassets.apple.com/content/services/pub/image?productid=301029&size=240x240", ["iPad14,10", "iPad14,11"], 12.9, (683, 512), "iPad Air (13-inch) (M2)", "iPad Air (13-inch) (M2)", 264, + cpu="m2", hasTouchID=True, hasRoundedDisplayCorners=True, applePencilSupport=34, cameras=1, + hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadAir11M3", "Device is an [iPad Air 11-inch (M3)]()", "https://cdsassets.apple.com/content/services/pub/image?productid=301027&size=240x240", ["iPad15,3", "iPad15,4"], 10.9, (59, 41), "iPad Air (11-inch) (M3)", "iPad Air (11-inch) (M3)", 264, + cpu="m3", hasTouchID=True, hasRoundedDisplayCorners=True, applePencilSupport=34, cameras=1, + hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadAir13M3", "Device is an [iPad Air 13-inch (M3)]()", "https://cdsassets.apple.com/content/services/pub/image?productid=301029&size=240x240", ["iPad15,5", "iPad15,6"], 12.9, (683, 512), "iPad Air (13-inch) (M3)", "iPad Air (13-inch) (M3)", 264, + cpu="m3", hasTouchID=True, hasRoundedDisplayCorners=True, applePencilSupport=34, cameras=1, + hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadAir11M4", "Device is an [iPad Air 11-inch (M4)]()", "", ["iPad16,8", "iPad16,9"], 10.9, (59, 41), "iPad Air (11-inch) (M4)", "iPad Air (11-inch) (M4)", 264, + cpu="m4", hasTouchID=True, hasRoundedDisplayCorners=True, applePencilSupport=34, cameras=1, + hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadAir13M4", "Device is an [iPad Air 13-inch (M4)]()", "", ["iPad16,10", "iPad16,11"], 12.9, (683, 512), "iPad Air (13-inch) (M4)", "iPad Air (13-inch) (M4)", 264, + cpu="m4", hasTouchID=True, hasRoundedDisplayCorners=True, applePencilSupport=34, cameras=1, + hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadMini", "Device is an [iPad mini](https://support.apple.com/kb/SP661)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP661/sp661_ipad_mini_color.jpg", ["iPad2,5", "iPad2,6", "iPad2,7"], 7.9, (3, 4), "iPad mini", "iPad mini", 163, + cpu="a5", isPadMiniFormFactor=True, cameras=1), + Device("iPadMini2", "Device is an [iPad mini 2](https://support.apple.com/kb/SP693)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP693/SP693-specs_color-mul.png", ["iPad4,4", "iPad4,5", "iPad4,6"], 7.9, (3, 4), "iPad mini 2", "iPad mini 2", 326, + cpu="a7", isPadMiniFormFactor=True, cameras=1), + Device("iPadMini3", "Device is an [iPad mini 3](https://support.apple.com/kb/SP709)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP709/SP709-space_gray.jpeg", ["iPad4,7", "iPad4,8", "iPad4,9"], 7.9, (3, 4), "iPad mini 3", "iPad mini 3", 326, + cpu="a7", isPadMiniFormFactor=True, hasTouchID=True, cameras=1), + Device("iPadMini4", "Device is an [iPad mini 4](https://support.apple.com/kb/SP725)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP725/SP725ipad-mini-4.png", ["iPad5,1", "iPad5,2"], 7.9, (3, 4), "iPad mini 4", "iPad mini 4", 326, + cpu="a8", isPadMiniFormFactor=True, hasTouchID=True, cameras=1), + Device("iPadMini5", "Device is an [iPad mini (5th generation)](https://support.apple.com/kb/SP788)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP788/ipad-mini-2019.jpg", ["iPad11,1", "iPad11,2"], 7.9, (3, 4), "iPad mini (5th generation)", "iPad mini (5th generation)", 326, + cpu="a12Bionic", isPadMiniFormFactor=True, hasTouchID=True, applePencilSupport=1, cameras=1), + Device("iPadMini6", "Device is an [iPad mini (6th generation)](https://support.apple.com/kb/SP850)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1097/en_US/ipad-mini-6gen-240.png", ["iPad14,1", "iPad14,2"], 8.3, (744, 1133), "iPad mini (6th generation)", "iPad mini (6th generation)", 326, + cpu="a15Bionic", isPadMiniFormFactor=True, hasTouchID=True, hasRoundedDisplayCorners=True, + applePencilSupport=23, cameras=1, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadMiniA17Pro", "Device is an [iPad mini (A17 Pro)](https://support.apple.com/en-us/121456)", "https://cdsassets.apple.com/live/7WUAS350/images/tech-specs/iPad_mini_A17_Pro_Wi-Fi_Lineup_Print__USEN.png", ["iPad16,1", "iPad16,2"], 8.3, (744, 1133), "iPad mini (A17 Pro)", "iPad mini (A17 Pro)", 326, + cpu="a17Pro", isPadMiniFormFactor=True, hasTouchID=True, hasRoundedDisplayCorners=True, + applePencilSupport=34, cameras=1, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadPro9Inch", "Device is an [iPad Pro 9.7-inch](https://support.apple.com/kb/SP739)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP739/SP739.png", ["iPad6,3", "iPad6,4"], 9.7, (3, 4), "iPad Pro (9.7-inch)", "iPad Pro (9.7-inch)", 264, + cpu="a9X", isPro=True, hasTouchID=True, applePencilSupport=1, cameras=1), + Device("iPadPro12Inch", "Device is an [iPad Pro 12-inch](https://support.apple.com/kb/SP723)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP723/SP723-iPad_Pro_2x.png", ["iPad6,7", "iPad6,8"], 12.9, (3, 4), "iPad Pro (12.9-inch)", "iPad Pro (12.9-inch)", 264, + cpu="a9X", isPro=True, hasTouchID=True, applePencilSupport=1, cameras=1), + Device("iPadPro12Inch2", "Device is an [iPad Pro 12-inch (2nd generation)](https://support.apple.com/kb/SP761)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP761/ipad-pro-12in-hero-201706.png", ["iPad7,1", "iPad7,2"], 12.9, (3, 4), "iPad Pro (12.9-inch) (2nd generation)", "iPad Pro (12.9-inch) (2nd generation)", 264, + cpu="a10XFusion", isPro=True, hasTouchID=True, applePencilSupport=1, cameras=1), + Device("iPadPro10Inch", "Device is an [iPad Pro 10.5-inch](https://support.apple.com/kb/SP762)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP761/ipad-pro-10in-hero-201706.png", ["iPad7,3", "iPad7,4"], 10.5, (3, 4), "iPad Pro (10.5-inch)", "iPad Pro (10.5-inch)", 264, + cpu="a10XFusion", isPro=True, hasTouchID=True, applePencilSupport=1, cameras=1), + Device("iPadPro11Inch", "Device is an [iPad Pro 11-inch](https://support.apple.com/kb/SP784)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP784/ipad-pro-11-2018_2x.png", ["iPad8,1", "iPad8,2", "iPad8,3", "iPad8,4"], 11.0, (139, 199), "iPad Pro (11-inch)", "iPad Pro (11-inch)", 264, + cpu="a12XBionic", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, + applePencilSupport=23, cameras=1, hasUSBCConnectivity=True), + Device("iPadPro12Inch3", "Device is an [iPad Pro 12.9-inch (3rd generation)](https://support.apple.com/kb/SP785)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP785/ipad-pro-12-2018_2x.png", ["iPad8,5", "iPad8,6", "iPad8,7", "iPad8,8"], 12.9, (512, 683), "iPad Pro (12.9-inch) (3rd generation)", "iPad Pro (12.9-inch) (3rd generation)", 264, + cpu="a12XBionic", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, + applePencilSupport=23, cameras=1, hasUSBCConnectivity=True), + Device("iPadPro11Inch2", "Device is an [iPad Pro 11-inch (2nd generation)](https://support.apple.com/kb/SP814)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP814/ipad-pro-11-2020.jpeg", ["iPad8,9", "iPad8,10"], 11.0, (139, 199), "iPad Pro (11-inch) (2nd generation)", "iPad Pro (11-inch) (2nd generation)", 264, + cpu="a12ZBionic", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, + applePencilSupport=23, cameras=13, hasLidarSensor=True, hasUSBCConnectivity=True), + Device("iPadPro12Inch4", "Device is an [iPad Pro 12.9-inch (4th generation)](https://support.apple.com/kb/SP815)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP815/ipad-pro-12-2020.jpeg", ["iPad8,11", "iPad8,12"], 12.9, (512, 683), "iPad Pro (12.9-inch) (4th generation)", "iPad Pro (12.9-inch) (4th generation)", 264, + cpu="a12ZBionic", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, + applePencilSupport=23, cameras=13, hasLidarSensor=True, hasUSBCConnectivity=True), + Device("iPadPro11Inch3", "Device is an [iPad Pro 11-inch (3rd generation)](https://support.apple.com/kb/SP843)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP843/ipad-pro-11_2x.png", ["iPad13,4", "iPad13,5", "iPad13,6", "iPad13,7"], 11.0, (139, 199), "iPad Pro (11-inch) (3rd generation)", "iPad Pro (11-inch) (3rd generation)", 264, + cpu="m1", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, applePencilSupport=23, + cameras=13, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadPro12Inch5", "Device is an [iPad Pro 12.9-inch (5th generation)](https://support.apple.com/kb/SP844)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP844/ipad-pro-12-9_2x.png", ["iPad13,8", "iPad13,9", "iPad13,10", "iPad13,11"], 12.9, (512, 683), "iPad Pro (12.9-inch) (5th generation)", "iPad Pro (12.9-inch) (5th generation)", 264, + cpu="m1", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, applePencilSupport=23, + cameras=13, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadPro11Inch4", "Device is an [iPad Pro 11-inch (4th generation)](https://support.apple.com/kb/SP882)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP882/ipad-pro-4gen-mainimage_2x.png", ["iPad14,3", "iPad14,4"], 11.0, (139, 199), "iPad Pro (11-inch) (4th generation)", "iPad Pro (11-inch) (4th generation)", 264, + cpu="m2", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, applePencilSupport=23, + cameras=13, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadPro12Inch6", "Device is an [iPad Pro 12.9-inch (6th generation)](https://support.apple.com/kb/SP883)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP882/ipad-pro-4gen-mainimage_2x.png", ["iPad14,5", "iPad14,6"], 12.9, (512, 683), "iPad Pro (12.9-inch) (6th generation)", "iPad Pro (12.9-inch) (6th generation)", 264, + cpu="m2", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, applePencilSupport=23, + cameras=13, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadPro11M4", "Device is an [iPad Pro 11-inch (M4)](https://support.apple.com/en-us/119892)", "https://cdsassets.apple.com/content/services/pub/image?productid=301031&size=240x240", ["iPad16,3", "iPad16,4"], 11.0, (605, 417), "iPad Pro (11-inch) (M4)", "iPad Pro (11-inch) (M4)", 264, + cpu="m4", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, applePencilSupport=34, + cameras=1, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadPro13M4", "Device is an [iPad Pro 13-inch (M4)](https://support.apple.com/en-us/119891)", "https://cdsassets.apple.com/content/services/pub/image?productid=301033&size=240x240", ["iPad16,5", "iPad16,6"], 13.0, (4, 3), "iPad Pro (13-inch) (M4)", "iPad Pro (13-inch) (M4)", 264, + cpu="m4", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, applePencilSupport=34, + cameras=1, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadPro11M5", "Device is an [iPad Pro 11-inch (M5)](https://support.apple.com/en-us/125406)", "https://cdsassets.apple.com/content/services/pub/image?productid=301271&size=240x240", ["iPad17,1", "iPad17,2"], 11.0, (605, 417), "iPad Pro (11-inch) (M5)", "iPad Pro (11-inch) (M5)", 264, + cpu="m5", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, applePencilSupport=234, + cameras=1, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), + Device("iPadPro13M5", "Device is an [iPad Pro 13-inch (M5)](https://support.apple.com/en-us/125406)", "https://cdsassets.apple.com/content/services/pub/image?productid=301273&size=240x240", ["iPad17,3", "iPad17,4"], 13.0, (4, 3), "iPad Pro (13-inch) (M5)", "iPad Pro (13-inch) (M5)", 264, + cpu="m5", isPro=True, hasFaceID=True, hasRoundedDisplayCorners=True, applePencilSupport=234, + cameras=1, hasLidarSensor=True, hasUSBCConnectivity=True, has5gSupport=True), ] homePods = [ - Device("homePod", "Device is a [HomePod](https://support.apple.com/kb/SP773)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP773/homepod_space_gray_large_2x.jpg", ["AudioAccessory1,1"], -1, (4, 5), "HomePod", "HomePod", -1, False, False, False, False, False, False, False, False, False, False, 0, False, 0, False, "a8", False, False), + Device("homePod", "Device is a [HomePod](https://support.apple.com/kb/SP773)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP773/homepod_space_gray_large_2x.jpg", ["AudioAccessory1,1"], -1, (4, 5), "HomePod", "HomePod", -1, + cpu="a8"), ] # tvOS tvs = [ - Device("appleTVHD", "Device is an [Apple TV HD](https://support.apple.com/kb/SP724) (Previously Apple TV (4th generation))", "http://images.apple.com/v/tv/c/images/overview/buy_tv_large_2x.jpg", ["AppleTV5,3"], 0, (), "Apple TV HD", "Apple TV HD", -1, False, False, False, False, False, False, False, False, False, False, 0, False, 0, False, "a8", True, False), - Device("appleTV4K", "Device is an [Apple TV 4K](https://support.apple.com/kb/SP769)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP769/appletv4k.png", ["AppleTV6,2"], 0, (), "Apple TV 4K", "Apple TV 4K", -1, False, False, False, False, False, False, False, False, False, False, 0, False, 0, False, "a10XFusion", False, False), - Device("appleTV4K2", "Device is an [Apple TV 4K (2nd generation)](https://support.apple.com/kb/SP845)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1023/en_US/apple-tv-4k-2gen-240.png", ["AppleTV11,1"], 0, (), "Apple TV 4K (2nd generation)", "Apple TV 4K (2nd generation)", -1, False, False, False, False, False, False, False, False, False, False, 0, False, 0, False, "a12Bionic", False, False), - Device("appleTV4K3", "Device is an [Apple TV 4K (3rd generation)](https://support.apple.com/kb/SP886)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP886/apple-tv-4k-3gen_2x.png", ["AppleTV14,1"], 0, (), "Apple TV 4K (3rd generation)", "Apple TV 4K (3rd generation)", -1, False, False, False, False, False, False, False, False, False, False, 0, False, 0, False, "a15Bionic", False, False), + Device("appleTVHD", "Device is an [Apple TV HD](https://support.apple.com/kb/SP724) (Previously Apple TV (4th generation))", "http://images.apple.com/v/tv/c/images/overview/buy_tv_large_2x.jpg", ["AppleTV5,3"], 0, (), "Apple TV HD", "Apple TV HD", -1, + cpu="a8", hasUSBCConnectivity=True), + Device("appleTV4K", "Device is an [Apple TV 4K](https://support.apple.com/kb/SP769)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP769/appletv4k.png", ["AppleTV6,2"], 0, (), "Apple TV 4K", "Apple TV 4K", -1, + cpu="a10XFusion"), + Device("appleTV4K2", "Device is an [Apple TV 4K (2nd generation)](https://support.apple.com/kb/SP845)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1023/en_US/apple-tv-4k-2gen-240.png", ["AppleTV11,1"], 0, (), "Apple TV 4K (2nd generation)", "Apple TV 4K (2nd generation)", -1, + cpu="a12Bionic"), + Device("appleTV4K3", "Device is an [Apple TV 4K (3rd generation)](https://support.apple.com/kb/SP886)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP886/apple-tv-4k-3gen_2x.png", ["AppleTV14,1"], 0, (), "Apple TV 4K (3rd generation)", "Apple TV 4K (3rd generation)", -1, + cpu="a15Bionic"), ] # watchOS @@ -162,199 +371,232 @@ watches = [ "appleWatchSeries0_38mm", "Device is an [Apple Watch (1st generation)](https://support.apple.com/kb/SP735)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/0/IM784/en_US/apple_watch_sport-240.png", - ["Watch1,1"], 1.5, (4,5), "Apple Watch (1st generation) 38mm", "Apple Watch (1st generation) 38mm", 290, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s1", False, False), + ["Watch1,1"], 1.5, (4,5), "Apple Watch (1st generation) 38mm", "Apple Watch (1st generation) 38mm", 290, + cpu="s1", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries0_42mm", "Device is an [Apple Watch (1st generation)](https://support.apple.com/kb/SP735)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/0/IM784/en_US/apple_watch_sport-240.png", - ["Watch1,2"], 1.6, (4,5), "Apple Watch (1st generation) 42mm", "Apple Watch (1st generation) 42mm", 303, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s1", False, False), + ["Watch1,2"], 1.6, (4,5), "Apple Watch (1st generation) 42mm", "Apple Watch (1st generation) 42mm", 303, + cpu="s1", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries1_38mm", "Device is an [Apple Watch Series 1](https://support.apple.com/kb/SP745)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/0/IM848/en_US/applewatch-series2-aluminum-temp-240.png", - ["Watch2,6"], 1.5, (4,5), "Apple Watch Series 1 38mm", "Apple Watch Series 1 38mm", 290, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s1P", False, False), + ["Watch2,6"], 1.5, (4,5), "Apple Watch Series 1 38mm", "Apple Watch Series 1 38mm", 290, + cpu="s1P", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries1_42mm", "Device is an [Apple Watch Series 1](https://support.apple.com/kb/SP745)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/0/IM848/en_US/applewatch-series2-aluminum-temp-240.png", - ["Watch2,7"], 1.6, (4,5), "Apple Watch Series 1 42mm", "Apple Watch Series 1 42mm", 303, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s1P", False, False), + ["Watch2,7"], 1.6, (4,5), "Apple Watch Series 1 42mm", "Apple Watch Series 1 42mm", 303, + cpu="s1P", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries2_38mm", "Device is an [Apple Watch Series 2](https://support.apple.com/kb/SP746)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/0/IM852/en_US/applewatch-series2-hermes-240.png", - ["Watch2,3"], 1.5, (4,5), "Apple Watch Series 2 38mm", "Apple Watch Series 2 38mm", 290, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s2", False, False), + ["Watch2,3"], 1.5, (4,5), "Apple Watch Series 2 38mm", "Apple Watch Series 2 38mm", 290, + cpu="s2", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries2_42mm", "Device is an [Apple Watch Series 2](https://support.apple.com/kb/SP746)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/0/IM852/en_US/applewatch-series2-hermes-240.png", - ["Watch2,4"], 1.6, (4,5), "Apple Watch Series 2 42mm", "Apple Watch Series 2 42mm", 303, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s2", False, False), + ["Watch2,4"], 1.6, (4,5), "Apple Watch Series 2 42mm", "Apple Watch Series 2 42mm", 303, + cpu="s2", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries3_38mm", "Device is an [Apple Watch Series 3](https://support.apple.com/kb/SP766)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/0/IM893/en_US/apple-watch-s3-nikeplus-240.png", - ["Watch3,1", "Watch3,3"], 1.5, (4,5), "Apple Watch Series 3 38mm", "Apple Watch Series 3 38mm", 290, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s3", False, False), + ["Watch3,1", "Watch3,3"], 1.5, (4,5), "Apple Watch Series 3 38mm", "Apple Watch Series 3 38mm", 290, + cpu="s3", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries3_42mm", "Device is an [Apple Watch Series 3](https://support.apple.com/kb/SP766)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/0/IM893/en_US/apple-watch-s3-nikeplus-240.png", - ["Watch3,2", "Watch3,4"], 1.6, (4,5), "Apple Watch Series 3 42mm", "Apple Watch Series 3 42mm", 303, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s3", False, False), + ["Watch3,2", "Watch3,4"], 1.6, (4,5), "Apple Watch Series 3 42mm", "Apple Watch Series 3 42mm", 303, + cpu="s3", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries4_40mm", "Device is an [Apple Watch Series 4](https://support.apple.com/kb/SP778)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/0/IM911/en_US/aw-series4-nike-240.png", - ["Watch4,1", "Watch4,3"], 1.8, (4,5), "Apple Watch Series 4 40mm", "Apple Watch Series 4 40mm", 326, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s4", False, False), + ["Watch4,1", "Watch4,3"], 1.8, (4,5), "Apple Watch Series 4 40mm", "Apple Watch Series 4 40mm", 326, + cpu="s4", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries4_44mm", "Device is an [Apple Watch Series 4](https://support.apple.com/kb/SP778)", "https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/0/IM911/en_US/aw-series4-nike-240.png", - ["Watch4,2", "Watch4,4"], 2.0, (4,5), "Apple Watch Series 4 44mm", "Apple Watch Series 4 44mm", 326, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s4", False, False), + ["Watch4,2", "Watch4,4"], 2.0, (4,5), "Apple Watch Series 4 44mm", "Apple Watch Series 4 44mm", 326, + cpu="s4", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries5_40mm", "Device is an [Apple Watch Series 5](https://support.apple.com/kb/SP808)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP808/sp808-apple-watch-series-5_2x.png", - ["Watch5,1", "Watch5,3"], 1.8, (4,5), "Apple Watch Series 5 40mm", "Apple Watch Series 5 40mm", 326, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s5", False, False), + ["Watch5,1", "Watch5,3"], 1.8, (4,5), "Apple Watch Series 5 40mm", "Apple Watch Series 5 40mm", 326, + cpu="s5", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries5_44mm", "Device is an [Apple Watch Series 5](https://support.apple.com/kb/SP808)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP808/sp808-apple-watch-series-5_2x.png", - ["Watch5,2", "Watch5,4"], 2.0, (4,5), "Apple Watch Series 5 44mm", "Apple Watch Series 5 44mm", 326, False, False, False, False, False, False, False, True, False, False, 0, True, 0, False, "s5", False, False), + ["Watch5,2", "Watch5,4"], 2.0, (4,5), "Apple Watch Series 5 44mm", "Apple Watch Series 5 44mm", 326, + cpu="s5", supportsWirelessCharging=True, hasForce3dTouchSupport=True), Device( "appleWatchSeries6_40mm", "Device is an [Apple Watch Series 6](https://support.apple.com/kb/SP826)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP826/sp826-apple-watch-series6-580_2x.png", - ["Watch6,1", "Watch6,3"], 1.8, (4,5), "Apple Watch Series 6 40mm", "Apple Watch Series 6 40mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s6", False, False), + ["Watch6,1", "Watch6,3"], 1.8, (4,5), "Apple Watch Series 6 40mm", "Apple Watch Series 6 40mm", 326, + cpu="s6", supportsWirelessCharging=True), Device( "appleWatchSeries6_44mm", "Device is an [Apple Watch Series 6](https://support.apple.com/kb/SP826)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP826/sp826-apple-watch-series6-580_2x.png", - ["Watch6,2", "Watch6,4"], 2.0, (4,5), "Apple Watch Series 6 44mm", "Apple Watch Series 6 44mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s6", False, False), + ["Watch6,2", "Watch6,4"], 2.0, (4,5), "Apple Watch Series 6 44mm", "Apple Watch Series 6 44mm", 326, + cpu="s6", supportsWirelessCharging=True), Device( "appleWatchSE_40mm", "Device is an [Apple Watch SE](https://support.apple.com/kb/SP827)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP827/sp827-apple-watch-se-580_2x.png", - ["Watch5,9", "Watch5,11"], 1.8, (4,5), "Apple Watch SE 40mm", "Apple Watch SE 40mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s5", False, False), + ["Watch5,9", "Watch5,11"], 1.8, (4,5), "Apple Watch SE 40mm", "Apple Watch SE 40mm", 326, + cpu="s5", supportsWirelessCharging=True), Device( "appleWatchSE_44mm", "Device is an [Apple Watch SE](https://support.apple.com/kb/SP827)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP827/sp827-apple-watch-se-580_2x.png", - ["Watch5,10", "Watch5,12"], 2.0, (4,5), "Apple Watch SE 44mm", "Apple Watch SE 44mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s5", False, False), + ["Watch5,10", "Watch5,12"], 2.0, (4,5), "Apple Watch SE 44mm", "Apple Watch SE 44mm", 326, + cpu="s5", supportsWirelessCharging=True), Device( "appleWatchSeries7_41mm", "Device is an [Apple Watch Series 7](https://support.apple.com/kb/SP860)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP860/series7-480_2x.png", - ["Watch6,6", "Watch6,8"], 1.8, (4,5), "Apple Watch Series 7 41mm", "Apple Watch Series 7 41mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s7", False, False), + ["Watch6,6", "Watch6,8"], 1.8, (4,5), "Apple Watch Series 7 41mm", "Apple Watch Series 7 41mm", 326, + cpu="s7", supportsWirelessCharging=True), Device( "appleWatchSeries7_45mm", "Device is an [Apple Watch Series 7](https://support.apple.com/kb/SP860)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP860/series7-480_2x.png", - ["Watch6,7", "Watch6,9"], 2.0, (4,5), "Apple Watch Series 7 45mm", "Apple Watch Series 7 45mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s7", False, False), + ["Watch6,7", "Watch6,9"], 2.0, (4,5), "Apple Watch Series 7 45mm", "Apple Watch Series 7 45mm", 326, + cpu="s7", supportsWirelessCharging=True), Device( "appleWatchSeries8_41mm", "Device is an [Apple Watch Series 8](https://support.apple.com/kb/SP878)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP878/apple-watch-series8_2x.png", - ["Watch6,14", "Watch6,16"], 1.8, (4,5), "Apple Watch Series 8 41mm", "Apple Watch Series 8 41mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s8", False, False), + ["Watch6,14", "Watch6,16"], 1.8, (4,5), "Apple Watch Series 8 41mm", "Apple Watch Series 8 41mm", 326, + cpu="s8", supportsWirelessCharging=True), Device( "appleWatchSeries8_45mm", "Device is an [Apple Watch Series 8](https://support.apple.com/kb/SP878)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP878/apple-watch-series8_2x.png", - ["Watch6,15", "Watch6,17"], 2.0, (4,5), "Apple Watch Series 8 45mm", "Apple Watch Series 8 45mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s8", False, False), + ["Watch6,15", "Watch6,17"], 2.0, (4,5), "Apple Watch Series 8 45mm", "Apple Watch Series 8 45mm", 326, + cpu="s8", supportsWirelessCharging=True), Device( "appleWatchSE2_40mm", "Device is an [Apple Watch SE (2nd generation)](https://support.apple.com/kb/SP877)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP877/apple-watch-se-2nd-gen_2x.png", - ["Watch6,10", "Watch6,12"], 1.8, (4,5), "Apple Watch SE (2nd generation) 40mm", "Apple Watch SE (2nd generation) 40mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s8", False, False), + ["Watch6,10", "Watch6,12"], 1.8, (4,5), "Apple Watch SE (2nd generation) 40mm", "Apple Watch SE (2nd generation) 40mm", 326, + cpu="s8", supportsWirelessCharging=True), Device( "appleWatchSE2_44mm", "Device is an [Apple Watch SE (2nd generation)](https://support.apple.com/kb/SP877)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP877/apple-watch-se-2nd-gen_2x.png", - ["Watch6,11", "Watch6,13"], 2.0, (4,5), "Apple Watch SE (2nd generation) 44mm", "Apple Watch SE (2nd generation) 44mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s8", False, False), + ["Watch6,11", "Watch6,13"], 2.0, (4,5), "Apple Watch SE (2nd generation) 44mm", "Apple Watch SE (2nd generation) 44mm", 326, + cpu="s8", supportsWirelessCharging=True), Device( "appleWatchUltra", "Device is an [Apple Watch Ultra](https://support.apple.com/kb/SP879)", "https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP879/apple-watch-ultra_2x.png", - ["Watch6,18"], 2.2, (4,5), "Apple Watch Ultra", "Apple Watch Ultra", 338, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s8", False, False), + ["Watch6,18"], 2.2, (4,5), "Apple Watch Ultra", "Apple Watch Ultra", 338, + cpu="s8", supportsWirelessCharging=True), Device( "appleWatchSeries9_41mm", "Device is an [Apple Watch Series 9](https://support.apple.com/kb/SP905)", "", - ["Watch7,1", "Watch7,3"], 1.9, (4,5), "Apple Watch Series 9 41mm", "Apple Watch Series 9 41mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s9", False, False), + ["Watch7,1", "Watch7,3"], 1.9, (4,5), "Apple Watch Series 9 41mm", "Apple Watch Series 9 41mm", 326, + cpu="s9", supportsWirelessCharging=True), Device( "appleWatchSeries9_45mm", "Device is an [Apple Watch Series 9](https://support.apple.com/kb/SP905)", "", - ["Watch7,2", "Watch7,4"], 2.0, (4,5), "Apple Watch Series 9 45mm", "Apple Watch Series 9 45mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s9", False, False), + ["Watch7,2", "Watch7,4"], 2.0, (4,5), "Apple Watch Series 9 45mm", "Apple Watch Series 9 45mm", 326, + cpu="s9", supportsWirelessCharging=True), Device( "appleWatchUltra2", "Device is an [Apple Watch Ultra2]()", "", - ["Watch7,5"], 2.2, (4,5), "Apple Watch Ultra2", "Apple Watch Ultra2", 338, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s9", False, False), + ["Watch7,5"], 2.2, (4,5), "Apple Watch Ultra2", "Apple Watch Ultra2", 338, + cpu="s9", supportsWirelessCharging=True), Device( "appleWatchSE3_40mm", "Device is an [Apple Watch SE (3rd generation)]()", "", - ["Watch7,13", "Watch7,14"], 1.8, (4,5), "Apple Watch SE (3rd generation) 40mm", "Apple Watch SE (3rd generation) 40mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s10", False, False), + ["Watch7,13", "Watch7,14"], 1.8, (4,5), "Apple Watch SE (3rd generation) 40mm", "Apple Watch SE (3rd generation) 40mm", 326, + cpu="s10", supportsWirelessCharging=True), Device( "appleWatchSE3_44mm", "Device is an [Apple Watch SE (3rd generation)]()", "", - ["Watch7,15", "Watch7,16"], 2.0, (4,5), "Apple Watch SE (3rd generation) 44mm", "Apple Watch SE (3rd generation) 44mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s10", False, False), + ["Watch7,15", "Watch7,16"], 2.0, (4,5), "Apple Watch SE (3rd generation) 44mm", "Apple Watch SE (3rd generation) 44mm", 326, + cpu="s10", supportsWirelessCharging=True), Device( "appleWatchSeries10_42mm", "Device is an [Apple Watch Series 10]()", "", - ["Watch7,8", "Watch7,10"], 1.9, (374,446), "Apple Watch Series 10 42mm", "Apple Watch Series 10 42mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s10", False, False), + ["Watch7,8", "Watch7,10"], 1.9, (374,446), "Apple Watch Series 10 42mm", "Apple Watch Series 10 42mm", 326, + cpu="s10", supportsWirelessCharging=True), Device( "appleWatchSeries10_46mm", "Device is an [Apple Watch Series 10]()", "", - ["Watch7,9", "Watch7,11"], 2.0, (416,496), "Apple Watch Series 10 46mm", "Apple Watch Series 10 46mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s10", False, False), + ["Watch7,9", "Watch7,11"], 2.0, (416,496), "Apple Watch Series 10 46mm", "Apple Watch Series 10 46mm", 326, + cpu="s10", supportsWirelessCharging=True), Device( "appleWatchUltra3", "Device is an [Apple Watch Ultra 3]()", "", - ["Watch7,12"], 2.2, (4,5), "Apple Watch Ultra 3", "Apple Watch Ultra 3", 338, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s10", False, False), + ["Watch7,12"], 2.2, (4,5), "Apple Watch Ultra 3", "Apple Watch Ultra 3", 338, + cpu="s10", supportsWirelessCharging=True), Device( "appleWatchSeries11_42mm", "Device is an [Apple Watch Series 11]()", "", - ["Watch7,17", "Watch7,19"], 1.9, (374,446), "Apple Watch Series 11 42mm", "Apple Watch Series 11 42mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s10", False, False), + ["Watch7,17", "Watch7,19"], 1.9, (374,446), "Apple Watch Series 11 42mm", "Apple Watch Series 11 42mm", 326, + cpu="s10", supportsWirelessCharging=True), Device( "appleWatchSeries11_46mm", "Device is an [Apple Watch Series 11]()", "", - ["Watch7,18", "Watch7,20"], 2.0, (416,496), "Apple Watch Series 11 46mm", "Apple Watch Series 11 46mm", 326, False, False, False, False, False, False, False, True, False, False, 0, False, 0, False, "s10", False, False), + ["Watch7,18", "Watch7,20"], 2.0, (416,496), "Apple Watch Series 11 46mm", "Apple Watch Series 11 46mm", 326, + cpu="s10", supportsWirelessCharging=True), ] From f17cd4c6cb57aea7cbf70ba70b07302253c2a550 Mon Sep 17 00:00:00 2001 From: Zandor Smith Date: Wed, 9 Sep 2026 20:51:49 +0200 Subject: [PATCH 2/2] Document GYB device definition cleanup in changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 83fc6bf9..03602d0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Maintenance + +- Simplify GYB device definitions with named feature parameters and defaults for unsupported features, preserving the generated Swift output. ([#508](https://github.com/devicekit/DeviceKit/pull/508)) + ## Version 5.8.0 Releasedate: 2026-03-03