- Fixed iPhone Air incorrectly marked as having ultra-wide camera. (#463)
Releasedate: 2025-09-12
pod 'DeviceKit', '~> 5.7'This version adds support for the iPhone 17 series, Apple Watch Ultra 3 and Apple Watch Series 11:
| Device | Case value |
|---|---|
| iPhone 17 | Device.iPhone17 |
| iPhone 17 Pro | Device.iPhone17Pro |
| iPhone 17 Pro Max | Device.iPhone17ProMax |
| iPhone Air | Device.iPhoneAir |
| Apple Watch Ultra 3 | Device.appleWatchUltra3 |
| Apple Watch Series 11 42mm | Device.appleWatchSeries11_42mm |
| Apple Watch Series 11 46mm | Device.appleWatchSeries11_46mm |
- 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).
Thanks to all the contributers of this release!
Releasedate: 2025-03-27
pod 'DeviceKit', '~> 5.6'This version adds support for the devices announced in October 2024: (#429)
| Device | Case value |
|---|---|
| iPad Mini (A17 Pro) | Device.iPadMiniA17Pro |
This version adds support for the devices announced in February 2025: (#436)
| Device | Case value |
|---|---|
| iPhone 16e | Device.iPhone16e |
This version adds support for the devices announced in March 2025: (#436)
| Device | Case value |
|---|---|
| iPad (A16) | Device.iPadA16 |
| iPad Air 11-inch (M3) | Device.iPadAir11M3 |
| iPad Air 13-inch (M3) | Device.iPadAir13M3 |
- Fix iPhone 16 Plus PPI. (#423)
Releasedate: 2024-09-22
pod 'DeviceKit', '~> 5.5'This version adds support for the devices announced at the September 2024 Apple Event: (#417)
| Device | Case value |
|---|---|
| iPhone 16 | Device.iPhone16 |
| iPhone 16 Plus | Device.iPhone16Plus |
| iPhone 16 Pro | Device.iPhone16Pro |
| iPhone 16 Pro Max | Device.iPhone16ProMax |
| Apple Watch Series 10 | Device.appleWatchSeries10_42mm, Device.appleWatchSeries10_46mm |
- Fix incorrect PPI for iPhone 14 Plus and iPhone 15 Plus. (#418)
Thanks to all the contributers of this release!
Releasedate: 2024-05-30
pod 'DeviceKit', '~> 5.4'- Add
Orientation.unknownfor when the device is neither in landscape or portrait orientation. (#410)
Thanks to all the contributers of this release!
Releasedate: 2024-05-30
pod 'DeviceKit', '~> 5.3'- Process Privacy manifest instead of copy on SPM. (#409)
Releasedate: 2024-05-21
pod 'DeviceKit', '~> 5.3'This version adds support for the devices announced at the May 2024 Apple Event: (#412)
| Device | Case value |
|---|---|
| iPad Air (11-inch) (M2) | Device.iPadAir11M2 |
| iPad Air (13-inch) (M2) | Device.iPadAir13M2 |
| iPad Pro (11-inch) (M4) | Device.iPadPro11M4 |
| iPad Pro (13-inch) (M4) | Device.iPadPro13M4 |
- Added
ApplePencilSupport.firstGenerationUsbCandApplePencilSupport.pro. (#412)
Releasedate: 2024-04-30
pod 'DeviceKit', '~> 5.2'- Enable MERGEABLE_LIBRARY flag. (#407)
Releasedate: 2024-04-15
pod 'DeviceKit', '~> 5.2'- Fix PrivacyInfo for Cocoapods. (#397)
Thanks to all the contributers of this release!
Releasedate: 2024-02-06
pod 'DeviceKit', '~> 5.2'Thanks to all the contributers of this release!
Releasedate: 2024-01-17
pod 'DeviceKit', '~> 5.2'- Update swift-tools-version in Package.swift to 5.3 to support Resource files. (#381)
- Fix PrivacyInfo.xcprivacy not being detected on SPM. (#384)
Thanks to all the contributers of this release!
- Semty
- Everyone who reported the SPM issues.
Releasedate: 2024-01-15
pod 'DeviceKit', '~> 5.2'- Add
.hasUSBCConnectivitytoDeviceto indicate whether the device has an USB-C port. (#373) - Add
.hasDynamicIslandtoDeviceto indicate whether the device has a dynamic island. (#368) - Add
.has5gSupporttoDeviceto indicate whether the device has 5G support. (#340) - Added Privacy Manifest to DeviceKit. (#367)
- Fix compilation issues when building SwiftUI Previews for macOS. (#376)
Thanks to all the contributers of this release!
Releasedate: 2023-09-21
pod 'DeviceKit', '~> 5.1'This version adds support for the devices announced at the September 2023 Apple Event: (#360, #361)
| Device | Case value |
|---|---|
| iPhone 15 | Device.iPhone15 |
| iPhone 15 Plus | Device.iPhone15Plus |
| iPhone 15 Pro | Device.iPhone15Pro |
| iPhone 15 Pro Max | Device.iPhone15ProMax |
| Apple Watch Series 9 | Device.appleWatchSeries9_41mm, Device.appleWatchSeries9_45mm |
| Apple Watch Ultra 2 | Device.appleWatchUltra2 |
- Fixes compilation errors that occur when compiling DeviceKit for visionOS. (#356)
- Note that this version does not add full visionOS support to DeviceKit. It just allows DeviceKit to compile for visionOS.
- When compiling this version of DeviceKit with Xcode 14 or lower, it will produce the following warning 3 times:
Unknown operating system for build configuration 'os'
Thanks to all the contributers of this release!
Releasedate: 2022-11-01
pod 'DeviceKit', '~> 5.0'- DeviceKit v5.0.0 drops support for the platforms that Xcode 14 also no longer supports: (#337)
| Platform | Previous | Now |
|---|---|---|
| iOS | 9.0 | 11.0 |
| tvOS | 9.0 | 11.0 |
| watchOS | 2.0 | 4.0 |
- Retrieve a device's CPU info using eg.
Device.current.cpu. (#330) - Add
.isSimulatorto tvOS and watchOS. (#245) - Add
.isCanvaswhich indicates whether the app is running in a SwiftUI preview. (#303)
Thanks to all the contributers of this release!
Releasedate: 2022-11-01
pod 'DeviceKit', '~> 4.9'This version adds support for the new Apple TV (3rd generation) that is released on the 4th of November 2022. (#335)
| Device | Case value |
|---|---|
| Apple TV 4K (3rd generation) | Device.appleTV4K3 |
- Add ability to get current device's thermal state. (#332)
- Fix Apple Watch Series 7 device identifier being incorrect. (#329)
Thanks to all the contributers of this release!
Releasedate: 2022-10-28
pod 'DeviceKit', '~> 4.8'This version adds support for the devices that were released in October 2022: (#334)
| Device | Case value |
|---|---|
| iPad (10th generation) | Device.iPad10 |
| iPad Pro 11-inch (4th generation) | Device.iPadPro11Inch4 |
| iPad Pro 12.9-inch (6th generation) | Device.iPadPro12Inch6 |
Releasedate: 2022-09-13
pod 'DeviceKit', '~> 4.7'This version adds support for the devices announced at the September 2022 Apple Event: (#324)
| Device | Case value |
|---|---|
| iPhone 14 | Device.iPhone14 |
| iPhone 14 Plus | Device.iPhone14Plus |
| iPhone 14 Pro | Device.iPhone14Pro |
| iPhone 14 Pro Max | Device.iPhone14ProMax |
| Apple Watch Series 7 (Missing from DeviceKit, from last year) | Device.appleWatchSeries7_41mm, Device.appleWatchSeries7_45mm |
| Apple Watch Series 8 | Device.appleWatchSeries8_41mm, Device.appleWatchSeries8_45mm |
| Apple Watch SE (2nd generation) | Device.appleWatchSE2_40mm, Device.appleWatchSE2_44mm |
| Apple Watch Ultra | Device.appleWatchUltra |
Releasedate: 2022-07-15
pod 'DeviceKit', '~> 4.6'- Fixes Carthage support. (#288)
Releasedate: 2022-03-18
pod 'DeviceKit', '~> 4.6'This version adds support for the devices announced at the March 2022 Apple Event: (308)
| Device | Case value |
|---|---|
| iPhone SE (3rd generation) | Device.iPhoneSE3 |
| iPad Air (5th generation) | Device.iPadAir5 |
Releasedate: 2021-10-24
pod 'DeviceKit', '~> 4.5'- Fix iPad mini (6th generation) screen size and aspect ratio again. (#300)
- Add missing device support URLs and images. (#300)
Releasedate: 2021-10-15
pod 'DeviceKit', '~> 4.5'- Fix iPad mini (6th generation) screen size and aspect ratio. (#294)
Releasedate: 2021-09-16
pod 'DeviceKit', '~> 4.5'This version adds support for the devices announced at the September 2021 Apple Event: (#286)
| Device | Case value |
|---|---|
| iPhone 13 | Device.iPhone13 |
| iPhone 13 mini | Device.iPhone13Mini |
| iPhone 13 Pro | Device.iPhone13Pro |
| iPhone 13 Pro Max | Device.iPhone13ProMax |
| iPad (9th generation) | Device.iPad9 |
| iPad mini (6th generation) | Device.iPadMini6 |
- Switched from Travis CI to GitHub Actions.
Releasedate: 2021-04-29
pod 'DeviceKit', '~> 4.4'This version adds support for the devices announced at the April 2021 Apple Event: (#279)
- iPad Pro (11-inch) (3rd generation)
Device.iPadPro11Inch3 - iPad Pro (12.9-inch) (5th generation)
Device.iPadPro12Inch5 - Apple TV 4K (2nd generation)
Device.appleTV4K2
Releasedate: 2021-02-12
pod 'DeviceKit', '~> 4.3'This version adds support for the Simulator running on Apple Silicon and fixes documentation:
- Support for running in Simulator on Apple Silicon. (#273)
- Fix tech specs link and images for iPhone 12 models and iPad Air (4th generation). (#272)
Releasedate: 2020-10-22
pod 'DeviceKit', '~> 4.2'This version fixes a couple of bugs introduced in the v4.2.0 release:
Device.allDevicesWithALidarSensordidn't include iPhone 12 Pro and iPhone 12 Pro Max. (#268 #266)Device.iPadAir4.screenRatioreturned an invalid screen ratio. (#268 #267)
Releasedate: 2020-10-21
pod 'DeviceKit', '~> 4.2'This release will add support for the October 2020 devices. (#262)
- iPad Air (4th generation)
- iPhone 12
- iPhone 12 mini
- iPhone 12 Pro
- iPhone 12 Pro Max
Device.iPadAir4
Device.iPhone12
Device.iPhone12Mini
Device.iPhone12Pro
Device.iPhone12ProMaxReleasedate: 2020-09-21
pod 'DeviceKit', '~> 4.1'This release will add support for the September 2020 devices, which will be released on the 18th of September: (#256)
- iPad (8th generation)
- Apple Watch Series 6
- Apple Watch SE
Device.iPad8
Device.appleWatchSeries6_40mm
Device.appleWatchSeries6_44mm
Device.appleWatchSE_40mm
Device.appleWatchSE_44mmSupport for iPad Air (4th generation) will be added in a later version since it will be a long time before we know its device identifiers.
Releasedate: 2020-09-04
pod 'DeviceKit', '~> 4.0'This is a v4.0.0 release because of the possibly breaking change of no longer supporting iOS 9. This decision was made because of Xcode 12 no longer supporting iOS 8.
- Dropped support for iOS 8. Lowest supported version is now iOS 9. (#249)
- Updated project settings for Xcode 12. (#248)
Releasedate: 2020-04-29
pod 'DeviceKit', '~> 3.2'- Added support for the iPhone SE (2nd generation). (#238)
Device.iPhoneSE2Releasedate: 2020-03-29
pod 'DeviceKit', '~> 3.1'- Added support for the new 2020 iPad Pro. (#235)
Device.iPadPro11Inch2 // iPad Pro (11-inch) (2nd generation)
Device.iPadPro12inch4 // iPad Pro (12.9-inch) (4th generation)- Added new functions for detecting LiDAR support.
Device.allDevicesWithALidarSensorandDevice.current.hasLidarSensor
Releasedate: 2020-01-19
pod 'DeviceKit', '~> 3.0'- The enum for the Apple TV HD has been renamed from
.appleTV4to.appleTVHD. (#211) .allSimulatorXSeriesDeviceshas been deprecated and replaced by.allSimulatorDevicesWithSensorHousing. (#212).allXSeriesDeviceshas been deprecated and replaced by.allDevicesWithSensorHousing. (#212)
CameraTypeshas been renamed toCameraType. (#212)CameraType.normalhas been deprecated and replaced byCameraType.wide. (#212).allDevicesWithNormalCamerahas been deprecated and replaced by.allDevicesWithWideCamera. (#212).hasNormalCamerahas been deprecated and replaced by.hasWideCamera. (#212)
- You can now check which devices support wireless charging through the following variables:
Device.allDevicesWithWirelessChargingSupportandDevice.current.supportsWirelessCharging(#209) - New
.safeDescriptionvariable that will provide you with a safe version of the.descriptionvariable. (#212)- Example: "iPhone Xʀ" vs "iPhone XR"
.allDevicesWith3dTouchSupportcontained.iPhoneSEwhich was incorrect. (#226)- Some variables would return incorrect values when running on the simulator. (#227)
Releasedate: 2019-10-02
pod 'DeviceKit', '~> 2.3'- Added support for the new september 2019 devices:
- iPad (7th generation)
Releasedate: 2019-09-24
pod 'DeviceKit', '~> 2.2'- Added support for the new september 2019 devices:
- iPhone 11
- iPhone 11 Pro
- iPhone 11 Pro Max
- Apple Watch Series 5
Device.current.camerasnow has the.ultraWidecamera type added for devices with that camera.
Releasedate: 2019-09-01
pod 'DeviceKit', '~> 2.1'- Add support for the new iPod touch (7th generation) (#189)
- Added
Device.allApplePencilCapableDevicesandDevice.current.applePencilSupportvariables for checking Apple Pencil support. (#179).applePencilSupportreturnsApplePencilSupport.firstGenerationorApplePencilSupport.secondGenerationfor checking which Apple Pencil is supported.
- Added 3D Touch (iOS) and Force Touch (watchOS) support variables: (#183)
- iOS
Device.allDevicesWith3dTouchSupportDevice.current.has3dTouchSupport
- watchOS
Device.allWatchesWithForceTouchSupportDevice.current.hasForceTouchSupport
- iOS
- Added variable to check for the camera's a device has. (#188)
- Example:
Device.iPhoneXS.camerasshould returnCameraTypes.normalandCameraTypes.telephoto.
- Example:
- Rename iPod touch 5 and 6 to iPod touch (5th generation) and iPod touch (6th generation) respectively. (#189)
- Rename Apple TV (4th generation) to Apple TV HD to comply with Apple's rename of the device. (#196)
- Improve support for Swift Package Manager. (#193)
- Fixed the
Device.current.isZoomedvariable. (#59 comment and #198)
Releasedate: 2019-04-10
pod 'DeviceKit', '~> 2.0'- The original
Device()constructor has been made private in favour of usingDevice.currentto matchUIDevice.current. - The enum values for the iPhone Xs, iPhone Xs Max and iPhone Xʀ have been renamed to be
.iPhoneXS,.iPhoneXSMaxand.iPhoneXRto match proper formatting. .descriptionfor the iPhone Xs, iPhone Xs Max and iPhone Xʀ have been changed to contain small caps formatting for the s and the ʀ part..descriptionfor the iPad 5 and iPad 6 have been changed to the proper names; iPad (5th generation) and iPad (6th generation)..name,.systemName,.systemVersion,.model,.localizedModel,.batteryStateand.batteryLevelwill now all return nil when you try to get its value when the device you are getting it from isn't the current one. (eg.Device.iPad6.namewhile running on iPad 5)
- Updated to Swift 5!
- New
.allDevicesWithRoundedDisplayCornersand.hasRoundedDisplayCornersvalues to check if a device has rounded display corners. (eg. iPhone Xs and iPad Pro (3rd generation)) - new
.allDevicesWithSensorHousingand.hasSensorHousingvalues to check if a device has a screen cutout for the sensor housing. (eg. iPhone Xs)
.isPadand.isPhoneare now giving correct outputs again.
Releasedate: 2019-03-29
pod 'DeviceKit', '~> 1.13'Added new iPad Mini (5th generation) and iPad Air (3rd generation)
Device.iPadMini5 // iPad Mini (5th generation)
Device.iPadAir3 // iPad Air (3rd generation)