diff --git a/CHANGELOG.md b/CHANGELOG.md index 03602d0..60bcf41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Bug fixes + +- Update Apple support links for iPhone and iPad models, correct the iPhone 14 Pro Max pixel density to 460 ppi, and correct the iPad Air 11-inch (M2) aspect ratio to 41:59. ([#497](https://github.com/devicekit/DeviceKit/pull/497)) Thanks to [@kudit](https://github.com/kudit)! + ### 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)) diff --git a/Source/Device.generated.swift b/Source/Device.generated.swift index bd5a063..419a130 100644 --- a/Source/Device.generated.swift +++ b/Source/Device.generated.swift @@ -202,59 +202,59 @@ public enum Device { /// /// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP875/sp875-sp876-iphone14-pro-promax_2x.png) case iPhone14ProMax - /// Device is an [iPhone 15](https://support.apple.com/en-us/111831) + /// Device is an [iPhone 15](https://support.apple.com/kb/SP901) /// /// ![Image]() case iPhone15 - /// Device is an [iPhone 15 Plus](https://support.apple.com/en-us/111830) + /// Device is an [iPhone 15 Plus](https://support.apple.com/kb/SP902) /// /// ![Image]() case iPhone15Plus - /// Device is an [iPhone 15 Pro](https://support.apple.com/en-us/111829) + /// Device is an [iPhone 15 Pro](https://support.apple.com/kb/SP903) /// /// ![Image]() case iPhone15Pro - /// Device is an [iPhone 15 Pro Max](https://support.apple.com/en-us/111828) + /// Device is an [iPhone 15 Pro Max](https://support.apple.com/kb/SP904) /// /// ![Image]() case iPhone15ProMax - /// Device is an [iPhone 16]() + /// Device is an [iPhone 16](https://support.apple.com/121029) /// /// ![Image]() case iPhone16 - /// Device is an [iPhone 16 Plus]() + /// Device is an [iPhone 16 Plus](https://support.apple.com/121030) /// /// ![Image]() case iPhone16Plus - /// Device is an [iPhone 16 Pro]() + /// Device is an [iPhone 16 Pro](https://support.apple.com/121031) /// /// ![Image]() case iPhone16Pro - /// Device is an [iPhone 16 Pro Max]() + /// Device is an [iPhone 16 Pro Max](https://support.apple.com/121032) /// /// ![Image]() case iPhone16ProMax - /// Device is an [iPhone 16e](https://support.apple.com/en-us/122208) + /// Device is an [iPhone 16e](https://support.apple.com/122208) /// /// ![Image](https://cdsassets.apple.com/live/7WUAS350/images/tech-specs/122208-iphone-16e.png) case iPhone16e - /// Device is an [iPhone 17]() + /// Device is an [iPhone 17](https://support.apple.com/125089) /// /// ![Image]() case iPhone17 - /// Device is an [iPhone 17 Pro]() + /// Device is an [iPhone 17 Pro](https://support.apple.com/125090) /// /// ![Image]() case iPhone17Pro - /// Device is an [iPhone 17 Pro Max]() + /// Device is an [iPhone 17 Pro Max](https://support.apple.com/125091) /// /// ![Image]() case iPhone17ProMax - /// Device is an [iPhone Air]() + /// Device is an [iPhone Air](https://support.apple.com/125092) /// /// ![Image]() case iPhoneAir - /// Device is an [iPhone 17e]() + /// Device is an [iPhone 17e](https://support.apple.com/126470) /// /// ![Image]() case iPhone17e @@ -306,7 +306,7 @@ public enum Device { /// /// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP884/sp884-ipad-10gen-960_2x.png) case iPad10 - /// Device is an [iPad (A16)]() + /// Device is an [iPad (A16)](https://support.apple.com/122240) /// /// ![Image]() case iPadA16 @@ -318,27 +318,27 @@ public enum Device { /// /// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP866/sp866-ipad-air-5gen_2x.png) case iPadAir5 - /// Device is an [iPad Air 11-inch (M2)](https://support.apple.com/en-us/119894) + /// Device is an [iPad Air 11-inch (M2)](https://support.apple.com/119894) /// /// ![Image](https://cdsassets.apple.com/content/services/pub/image?productid=301027&size=240x240) case iPadAir11M2 - /// Device is an [iPad Air 13-inch (M2)](https://support.apple.com/en-us/119893) + /// Device is an [iPad Air 13-inch (M2)](https://support.apple.com/119893) /// /// ![Image](https://cdsassets.apple.com/content/services/pub/image?productid=301029&size=240x240) case iPadAir13M2 - /// Device is an [iPad Air 11-inch (M3)]() + /// Device is an [iPad Air 11-inch (M3)](https://support.apple.com/122241) /// /// ![Image](https://cdsassets.apple.com/content/services/pub/image?productid=301027&size=240x240) case iPadAir11M3 - /// Device is an [iPad Air 13-inch (M3)]() + /// Device is an [iPad Air 13-inch (M3)](https://support.apple.com/122242) /// /// ![Image](https://cdsassets.apple.com/content/services/pub/image?productid=301029&size=240x240) case iPadAir13M3 - /// Device is an [iPad Air 11-inch (M4)]() + /// Device is an [iPad Air 11-inch (M4)](https://support.apple.com/126471) /// /// ![Image]() case iPadAir11M4 - /// Device is an [iPad Air 13-inch (M4)]() + /// Device is an [iPad Air 13-inch (M4)](https://support.apple.com/126472) /// /// ![Image]() case iPadAir13M4 @@ -1014,7 +1014,7 @@ public enum Device { case .iPadA16: return (width: 41, height: 59) case .iPadAir4: return (width: 41, height: 59) case .iPadAir5: return (width: 41, height: 59) - case .iPadAir11M2: return (width: 59, height: 41) + case .iPadAir11M2: return (width: 41, height: 59) case .iPadAir13M2: return (width: 683, height: 512) case .iPadAir11M3: return (width: 59, height: 41) case .iPadAir13M3: return (width: 683, height: 512) @@ -1532,7 +1532,7 @@ public enum Device { case .iPhone14: return 460 case .iPhone14Plus: return 458 case .iPhone14Pro: return 460 - case .iPhone14ProMax: return 458 + case .iPhone14ProMax: return 460 case .iPhone15: return 460 case .iPhone15Plus: return 460 case .iPhone15Pro: return 460 diff --git a/Source/Device.swift.gyb b/Source/Device.swift.gyb index 7a61e94..83de2a2 100644 --- a/Source/Device.swift.gyb +++ b/Source/Device.swift.gyb @@ -169,66 +169,66 @@ iPhones = [ 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, + 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", 460, 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, + Device("iPhone15", "Device is an [iPhone 15](https://support.apple.com/kb/SP901)", "", ["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, + Device("iPhone15Plus", "Device is an [iPhone 15 Plus](https://support.apple.com/kb/SP902)", "", ["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, + Device("iPhone15Pro", "Device is an [iPhone 15 Pro](https://support.apple.com/kb/SP903)", "", ["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, + Device("iPhone15ProMax", "Device is an [iPhone 15 Pro Max](https://support.apple.com/kb/SP904)", "", ["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, + Device("iPhone16", "Device is an [iPhone 16](https://support.apple.com/121029)", "", ["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, + Device("iPhone16Plus", "Device is an [iPhone 16 Plus](https://support.apple.com/121030)", "", ["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, + Device("iPhone16Pro", "Device is an [iPhone 16 Pro](https://support.apple.com/121031)", "", ["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, + Device("iPhone16ProMax", "Device is an [iPhone 16 Pro Max](https://support.apple.com/121032)", "", ["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, + Device("iPhone16e", "Device is an [iPhone 16e](https://support.apple.com/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, + Device("iPhone17", "Device is an [iPhone 17](https://support.apple.com/125089)", "", ["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, + Device("iPhone17Pro", "Device is an [iPhone 17 Pro](https://support.apple.com/125090)", "", ["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, + Device("iPhone17ProMax", "Device is an [iPhone 17 Pro Max](https://support.apple.com/125091)", "", ["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, + Device("iPhoneAir", "Device is an [iPhone Air](https://support.apple.com/125092)", "", ["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, + Device("iPhone17e", "Device is an [iPhone 17e](https://support.apple.com/126470)", "", ["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), @@ -260,7 +260,7 @@ iPads = [ 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, + Device("iPadA16", "Device is an [iPad (A16)](https://support.apple.com/122240)", "", ["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, @@ -269,22 +269,22 @@ iPads = [ 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, + Device("iPadAir11M2", "Device is an [iPad Air 11-inch (M2)](https://support.apple.com/119894)", "https://cdsassets.apple.com/content/services/pub/image?productid=301027&size=240x240", ["iPad14,8", "iPad14,9"], 10.9, (41, 59), "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, + Device("iPadAir13M2", "Device is an [iPad Air 13-inch (M2)](https://support.apple.com/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, + Device("iPadAir11M3", "Device is an [iPad Air 11-inch (M3)](https://support.apple.com/122241)", "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, + Device("iPadAir13M3", "Device is an [iPad Air 13-inch (M3)](https://support.apple.com/122242)", "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, + Device("iPadAir11M4", "Device is an [iPad Air 11-inch (M4)](https://support.apple.com/126471)", "", ["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, + Device("iPadAir13M4", "Device is an [iPad Air 13-inch (M4)](https://support.apple.com/126472)", "", ["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,