Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
### Bug fixes

- Fixed iPhone Air incorrectly marked as having ultra-wide camera. ([#463](https://github.com/devicekit/DeviceKit/issues/463))
- Fixed naming of iPad mini devices to match Apple's official naming (lowercase "mini"). ([#458](https://github.com/devicekit/DeviceKit/issues/458))

## Version 5.7.0

Expand Down Expand Up @@ -41,7 +42,7 @@ This version adds support for the iPhone 17 series, Apple Watch Ultra 3 and Appl

- Missing device identifiers for Apple Watch Series 9 were added.
- Docs for Apple Watch Series 9 was updated to include specs links
- Fixed Apple Pencil support for iPad Mini (A17 Pro).
- Fixed Apple Pencil support for iPad mini (A17 Pro).

Thanks to all the contributers of this release!
- [Jager-yoo](https://github.com/Jager-yoo)
Expand All @@ -61,7 +62,7 @@ This version adds support for the devices announced in October 2024: ([#429](htt

| Device | Case value |
| --- | --- |
| iPad Mini (A17 Pro) | `Device.iPadMiniA17Pro` |
| iPad mini (A17 Pro) | `Device.iPadMiniA17Pro` |

### New February 2025 devices

Expand Down Expand Up @@ -728,8 +729,8 @@ pod 'DeviceKit', '~> 1.13'
```

### New iPads
Added new iPad Mini (5th generation) and iPad Air (3rd generation)
Added new iPad mini (5th generation) and iPad Air (3rd generation)
```swift
Device.iPadMini5 // iPad Mini (5th generation)
Device.iPadMini5 // iPad mini (5th generation)
Device.iPadAir3 // iPad Air (3rd generation)
```
42 changes: 21 additions & 21 deletions Source/Device.generated.swift
Original file line number Diff line number Diff line change
Expand Up @@ -330,31 +330,31 @@ public enum Device {
///
/// ![Image](https://cdsassets.apple.com/content/services/pub/image?productid=301029&size=240x240)
case iPadAir13M3
/// Device is an [iPad Mini](https://support.apple.com/kb/SP661)
/// Device is an [iPad mini](https://support.apple.com/kb/SP661)
///
/// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP661/sp661_ipad_mini_color.jpg)
case iPadMini
/// Device is an [iPad Mini 2](https://support.apple.com/kb/SP693)
/// Device is an [iPad mini 2](https://support.apple.com/kb/SP693)
///
/// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP693/SP693-specs_color-mul.png)
case iPadMini2
/// Device is an [iPad Mini 3](https://support.apple.com/kb/SP709)
/// Device is an [iPad mini 3](https://support.apple.com/kb/SP709)
///
/// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP709/SP709-space_gray.jpeg)
case iPadMini3
/// Device is an [iPad Mini 4](https://support.apple.com/kb/SP725)
/// Device is an [iPad mini 4](https://support.apple.com/kb/SP725)
///
/// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP725/SP725ipad-mini-4.png)
case iPadMini4
/// Device is an [iPad Mini (5th generation)](https://support.apple.com/kb/SP788)
/// Device is an [iPad mini (5th generation)](https://support.apple.com/kb/SP788)
///
/// ![Image](https://support.apple.com/library/APPLE/APPLECARE_ALLGEOS/SP788/ipad-mini-2019.jpg)
case iPadMini5
/// Device is an [iPad Mini (6th generation)](https://support.apple.com/kb/SP850)
/// Device is an [iPad mini (6th generation)](https://support.apple.com/kb/SP850)
///
/// ![Image](https://km.support.apple.com/resources/sites/APPLE/content/live/IMAGES/1000/IM1097/en_US/ipad-mini-6gen-240.png)
case iPadMini6
/// Device is an [iPad Mini (A17 Pro)](https://support.apple.com/en-us/121456)
/// Device is an [iPad mini (A17 Pro)](https://support.apple.com/en-us/121456)
///
/// ![Image](https://cdsassets.apple.com/live/7WUAS350/images/tech-specs/iPad_mini_A17_Pro_Wi-Fi_Lineup_Print__USEN.png)
case iPadMiniA17Pro
Expand Down Expand Up @@ -1703,13 +1703,13 @@ extension Device: CustomStringConvertible {
case .iPadAir13M2: return "iPad Air (13-inch) (M2)"
case .iPadAir11M3: return "iPad Air (11-inch) (M3)"
case .iPadAir13M3: return "iPad Air (13-inch) (M3)"
case .iPadMini: return "iPad Mini"
case .iPadMini2: return "iPad Mini 2"
case .iPadMini3: return "iPad Mini 3"
case .iPadMini4: return "iPad Mini 4"
case .iPadMini5: return "iPad Mini (5th generation)"
case .iPadMini6: return "iPad Mini (6th generation)"
case .iPadMiniA17Pro: return "iPad Mini (A17 Pro)"
case .iPadMini: return "iPad mini"
case .iPadMini2: return "iPad mini 2"
case .iPadMini3: return "iPad mini 3"
case .iPadMini4: return "iPad mini 4"
case .iPadMini5: return "iPad mini (5th generation)"
case .iPadMini6: return "iPad mini (6th generation)"
case .iPadMiniA17Pro: return "iPad mini (A17 Pro)"
case .iPadPro9Inch: return "iPad Pro (9.7-inch)"
case .iPadPro12Inch: return "iPad Pro (12.9-inch)"
case .iPadPro12Inch2: return "iPad Pro (12.9-inch) (2nd generation)"
Expand Down Expand Up @@ -1863,13 +1863,13 @@ extension Device: CustomStringConvertible {
case .iPadAir13M2: return "iPad Air (13-inch) (M2)"
case .iPadAir11M3: return "iPad Air (11-inch) (M3)"
case .iPadAir13M3: return "iPad Air (13-inch) (M3)"
case .iPadMini: return "iPad Mini"
case .iPadMini2: return "iPad Mini 2"
case .iPadMini3: return "iPad Mini 3"
case .iPadMini4: return "iPad Mini 4"
case .iPadMini5: return "iPad Mini (5th generation)"
case .iPadMini6: return "iPad Mini (6th generation)"
case .iPadMiniA17Pro: return "iPad Mini (A17 Pro)"
case .iPadMini: return "iPad mini"
case .iPadMini2: return "iPad mini 2"
case .iPadMini3: return "iPad mini 3"
case .iPadMini4: return "iPad mini 4"
case .iPadMini5: return "iPad mini (5th generation)"
case .iPadMini6: return "iPad mini (6th generation)"
case .iPadMiniA17Pro: return "iPad mini (A17 Pro)"
case .iPadPro9Inch: return "iPad Pro (9.7-inch)"
case .iPadPro12Inch: return "iPad Pro (12.9-inch)"
case .iPadPro12Inch2: return "iPad Pro (12.9-inch) (2nd generation)"
Expand Down
14 changes: 7 additions & 7 deletions Source/Device.swift.gyb
Original file line number Diff line number Diff line change
Expand Up @@ -117,13 +117,13 @@ iPads = [
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, 24, 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, 24, 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, 24, False, 1, False, "m3", 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("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),
Expand Down
10 changes: 5 additions & 5 deletions Tests/Tests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -355,11 +355,11 @@ class DeviceKitTests: XCTestCase {
XCTAssertEqual(Device.iPad5.description, "iPad (5th generation)")
XCTAssertEqual(Device.iPad6.description, "iPad (6th generation)")
XCTAssertEqual(Device.iPadAir3.description, "iPad Air (3rd generation)")
XCTAssertEqual(Device.iPadMini.description, "iPad Mini")
XCTAssertEqual(Device.iPadMini2.description, "iPad Mini 2")
XCTAssertEqual(Device.iPadMini3.description, "iPad Mini 3")
XCTAssertEqual(Device.iPadMini4.description, "iPad Mini 4")
XCTAssertEqual(Device.iPadMini5.description, "iPad Mini (5th generation)")
XCTAssertEqual(Device.iPadMini.description, "iPad mini")
XCTAssertEqual(Device.iPadMini2.description, "iPad mini 2")
XCTAssertEqual(Device.iPadMini3.description, "iPad mini 3")
XCTAssertEqual(Device.iPadMini4.description, "iPad mini 4")
XCTAssertEqual(Device.iPadMini5.description, "iPad mini (5th generation)")
XCTAssertEqual(Device.iPadPro9Inch.description, "iPad Pro (9.7-inch)")
XCTAssertEqual(Device.iPadPro12Inch.description, "iPad Pro (12.9-inch)")
XCTAssertEqual(Device.iPadPro12Inch2.description, "iPad Pro (12.9-inch) (2nd generation)")
Expand Down