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.unknown
for 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.firstGenerationUsbC
andApplePencilSupport.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
.hasUSBCConnectivity
toDevice
to indicate whether the device has an USB-C port. (#373) - Add
.hasDynamicIsland
toDevice
to indicate whether the device has a dynamic island. (#368) - Add
.has5gSupport
toDevice
to 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
.isSimulator
to tvOS and watchOS. (#245) - Add
.isCanvas
which 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.allDevicesWithALidarSensor
didn't include iPhone 12 Pro and iPhone 12 Pro Max. (#268 #266)Device.iPadAir4.screenRatio
returned 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.iPhone12ProMax
Releasedate: 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_44mm
Support 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.iPhoneSE2
Releasedate: 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.allDevicesWithALidarSensor
andDevice.current.hasLidarSensor
Releasedate: 2020-01-19
pod 'DeviceKit', '~> 3.0'
- The enum for the Apple TV HD has been renamed from
.appleTV4
to.appleTVHD
. (#211) .allSimulatorXSeriesDevices
has been deprecated and replaced by.allSimulatorDevicesWithSensorHousing
. (#212).allXSeriesDevices
has been deprecated and replaced by.allDevicesWithSensorHousing
. (#212)
CameraTypes
has been renamed toCameraType
. (#212)CameraType.normal
has been deprecated and replaced byCameraType.wide
. (#212).allDevicesWithNormalCamera
has been deprecated and replaced by.allDevicesWithWideCamera
. (#212).hasNormalCamera
has been deprecated and replaced by.hasWideCamera
. (#212)
- You can now check which devices support wireless charging through the following variables:
Device.allDevicesWithWirelessChargingSupport
andDevice.current.supportsWirelessCharging
(#209) - New
.safeDescription
variable that will provide you with a safe version of the.description
variable. (#212)- Example: "iPhone Xʀ" vs "iPhone XR"
.allDevicesWith3dTouchSupport
contained.iPhoneSE
which 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.cameras
now has the.ultraWide
camera 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.allApplePencilCapableDevices
andDevice.current.applePencilSupport
variables for checking Apple Pencil support. (#179).applePencilSupport
returnsApplePencilSupport.firstGeneration
orApplePencilSupport.secondGeneration
for checking which Apple Pencil is supported.
- Added 3D Touch (iOS) and Force Touch (watchOS) support variables: (#183)
- iOS
Device.allDevicesWith3dTouchSupport
Device.current.has3dTouchSupport
- watchOS
Device.allWatchesWithForceTouchSupport
Device.current.hasForceTouchSupport
- iOS
- Added variable to check for the camera's a device has. (#188)
- Example:
Device.iPhoneXS.cameras
should returnCameraTypes.normal
andCameraTypes.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.isZoomed
variable. (#59 comment and #198)
Releasedate: 2019-04-10
pod 'DeviceKit', '~> 2.0'
- The original
Device()
constructor has been made private in favour of usingDevice.current
to matchUIDevice.current
. - The enum values for the iPhone Xs, iPhone Xs Max and iPhone Xʀ have been renamed to be
.iPhoneXS
,.iPhoneXSMax
and.iPhoneXR
to match proper formatting. .description
for the iPhone Xs, iPhone Xs Max and iPhone Xʀ have been changed to contain small caps formatting for the s and the ʀ part..description
for 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
,.batteryState
and.batteryLevel
will 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.name
while running on iPad 5)
- Updated to Swift 5!
- New
.allDevicesWithRoundedDisplayCorners
and.hasRoundedDisplayCorners
values to check if a device has rounded display corners. (eg. iPhone Xs and iPad Pro (3rd generation)) - new
.allDevicesWithSensorHousing
and.hasSensorHousing
values to check if a device has a screen cutout for the sensor housing. (eg. iPhone Xs)
.isPad
and.isPhone
are 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)