114 Commits

Author SHA1 Message Date
Teruaki Kinoshita 3d2a7bd32e fix M5 iPad Pro models (#480)
* fix m5 iPad Pro models

* Add changelog entry for PR 480.

---------

Co-authored-by: Zandor Smith <info@zsinfo.nl>
2026-03-02 20:08:40 +01:00
Copilot ee6239c8d3 Rename iPad Mini to iPad mini for Apple naming consistency (#478)
* Initial plan

* Rename iPad Mini to iPad mini in strings and comments

* Add changelog entry for iPad mini naming fix
2026-03-02 18:53:01 +01:00
Copilot 5314feab8d Fix Apple Pencil compatibility for M4 iPad Pro and M2/M3 iPad Air models (#474)
* Initial plan

* Fix Apple Pencil compatibility for iPad models

* Add tests for Apple Pencil compatibility

* Add changelog entry and fix trailing whitespace in tests

* Fix linting issues.

* Fix changelog entry.

* Fix additional linting issues.

* Fix ApplePencilSupport OptionSet raw values to use non-overlapping bits

The firstGenerationUsbC raw value (0x03) overlapped with firstGeneration
(0x01) and secondGeneration (0x02), causing contains() checks to return
incorrect results. Changed to proper power-of-2 values.
2026-03-02 17:54:38 +01:00
Zandor Smith 354737a6c6 Add iPhone 17e and iPad Air (M4) support (#486)
Add support for the newly announced iPhone 17e (iPhone18,5) and
iPad Air M4 in both 11-inch (iPad16,8-9) and 13-inch (iPad16,10-11)
variants.
2026-03-02 17:35:35 +01:00
Copilot 373e974077 Add M5 iPad Pro models (#467)
* Initial plan

* Add M5 iPad Pro models and M5 CPU definition

Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>

# Conflicts:
#	CHANGELOG.md
#	Source/Device.generated.swift

* Add tests for M5 iPad Pro models and M5 CPU

Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>
2025-12-03 20:57:12 +01:00
Copilot 95956b818d Add Apple Watch SE 3rd generation (Watch7,13-16) (#473)
* Initial plan

* Add Apple Watch SE 3rd generation support (Watch7,13-16)

Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>

# Conflicts:
#	Source/Device.generated.swift

* Add test for Apple Watch SE 3rd generation device mapping

Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>

* Update Apple Watch SE 3rd gen to use S10 chip instead of S9

Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>

* Remove test.

* Add changelog entry.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>
Co-authored-by: Zandor Smith <info@zsinfo.nl>
2025-12-03 20:35:20 +01:00
Copilot 3631219f12 Fix iPhone Air camera specification to wide-only (#477)
* Initial plan

* Fix: Remove ultra-wide camera marking from iPhone Air

The iPhone Air only has a 48MP Fusion Main camera (wide), not an
ultra-wide camera. Changed camera value from 13 (wide + ultraWide) to
1 (wide only) in Device.swift.gyb and regenerated Device.generated.swift.

Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>

* Rebase on master and regenerate using new GYB instructions

Updated to use the new GYB command:
./Utils/gyb --line-directive '' -o ./Source/Device.generated.swift ./Source/Device.swift.gyb

Fix remains: iPhone Air camera value changed from 13 to 1 (wide only).

Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>

* Remove __pycache__ and add to .gitignore

Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>

* Add changelog entry for iPhone Air camera fix

Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>

* Move changelog entry to new Unreleased section

Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>
2025-12-02 14:35:24 +01:00
Zandor Smith 8bb5d4b602 Add support for iPhone 17 series and Apple Watch Ultra 3/Series 11 with version 5.7.0 release (#452)
* Initial plan

* Add iPhone 17 series and Apple Watch Ultra 3/Series 11 to Device.swift.gyb template



* Fix Apple Watch Ultra 3 and Series 11 to use S10 chip instead of S11



* Add changelog entry for 5.7.0 and update version numbers

- Add changelog entry for version 5.7.0 with September 12th release date
- Include table of new iPhone 17 series and Apple Watch devices
- Update version to 5.7.0 in README.md, DeviceKit.podspec, and project.pbxproj
- Follow pattern from previous version releases



* Fix changelog.

* Build generated file after copilot gyb implementation.

* Make iPhone Air plus sized.

* More device attribute fixes.

* Update tests after adding new devices.

* Add changelog entry for Series 9 fix.

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Zandor300 <6069593+Zandor300@users.noreply.github.com>
2025-09-11 23:49:28 +02:00
Davide Sibilio 85cd9968ac Fixed Apple Pencil support for iPadMini A17Pro (#446) 2025-09-11 23:45:21 +02:00
Jaeho Yoo 2054c5bfb7 Add missing Apple Watch Series 9 identifiers and spec link (#448) 2025-09-11 23:38:54 +02:00
Zandor Smith 511b2865e4 Add new February/March 2025 devices. (#436)
* Add support for iPhone 16e.

* Update changelog.

* Add support for iPad (A16), iPad Air 11-inch (M3), iPad Air 13-inch (M3)

* Updated GitHub actions.

* Actions: Use macos-14 image instead of arm image.
2025-03-20 10:28:11 +01:00
Zandor Smith 866ddd8455 Add support for iPad Mini (A17 Pro) (#429)
* Add support for iPad Mini (A17 Pro)

* Update changelog.

* Version bump. (v5.6.0)
2025-03-11 23:48:14 +01:00
Arindam Karmakar d3bb693a66 iPhone 16 Plus PPI Fix (#423)
https://www.apple.com/in/iphone-16/specs/
2024-09-26 14:57:42 +02:00
Arindam Karmakar 7ff5331960 Display ppi fixes as per apple tech specs (#418)
* ppi fixes as per apple tech specs

iPhone 14 Plus, iPhone 15 Plus

* Define PPI for iPhone 14/15 Plus in gyb file.

---------

Co-authored-by: Zandor Smith <info@zsinfo.nl>
2024-09-22 13:49:37 +02:00
Zandor Smith 2b4327177f Support for iPhone 16 models and Apple Watch Series 10. (#417)
* Initial support for iPhone 16 models and Apple Watch Series 10.

* Version bump. (v5.5.0)

* Add missing device identifiers for new September 2024 devices.

* Fix unit tests after adding new devices.
2024-09-20 21:23:05 +02:00
George Elsham 5eb05583f4 Add unknown orientation variant (#411) 2024-05-30 23:09:52 +02:00
Zandor Smith 1d30c249fd Support for new May 2024 devices. (#412)
* Initial implementation of support for new May 2024 devices.

* Update Apple Pencil support.

* Update iPad device names and device identifiers.

* Rename new iPads enum values.

* Fix line inset.

* Fix tests after new devices added.

* Add changelog.

* Update changelog about extra ApplePencilSupport.
2024-05-22 08:53:19 +02:00
Zandor Smith fe41d18ecc Fix building for visionOS. (#390)
* Fix compile errors on visionOS.

# Conflicts:
#	Source/Device.generated.swift
#	Source/Device.swift.gyb

* Remove references to xrOS that are no longer applicable.

* Add TODO comments in code about visionOS proper implementation.

* Update changelog.

---------

Co-authored-by: Chris Vasselli <clindsay@gmail.com>
2024-02-06 21:51:12 +01:00
Zandor Smith 6c01329de4 Fix building SwiftUI previews on macOS. (#389)
* fixes macOS build

* Use description instead of safeDescription inside description.

* Version bump (v5.2.2)

---------

Co-authored-by: Honghao Zhang <m@honghao.dev>
2024-02-06 21:07:10 +01:00
Zandor Smith 572fd0386f Release 5.2.0 (#377)
* added of devices that support 5G network

* fixed device list

* updated Device.swift.gyb file

* add Dynamic Island support

* add test

* Add hasUSBCConnectivity support

* Add test for 5g support.

* Remove trailing comma.

* Add changelog entry.

* Version bump. (v5.2.0)

* Remove trailing whitespace.

* Update changelog with SwiftUI fix already merged to master.

* Remove trailing whitespace.

---------

Co-authored-by: furiosFast <furios.fast@hotmail.it>
Co-authored-by: 417-72KI <417.72ki@gmail.com>
Co-authored-by: Mathieu Hausherr <mhausherr@gmail.com>
2024-01-15 23:42:56 +01:00
Zandor Smith 4cc2dfff47 Fix compilation issues when building SwiftUI Previews for macOS. (#376) 2024-01-15 20:11:37 +01:00
Felix Krause 43a9f93886 Update documentation of Device.current.name to not work as of iOS 16.0 (#347)
* Update documentation of `Device.current.name` to not work as of iOS 16.0

* Add link to documentation and build Swift file.

---------

Co-authored-by: Zandor Smith <info@zsinfo.nl>
2023-10-03 18:15:36 +02:00
Denise Nepraunig 66837ecf15 Add missing s9 CPU. (#364)
Co-authored-by: Zandor Smith <info@zsinfo.nl>
2023-09-21 17:01:08 +02:00
Zandor Smith 96ee1f425a Release 5.1.0 (#362)
* Adjust GitHub Action simulators used for testing and lock macos version.

* Adds compilation support for visionOS.

Fixes https://github.com/devicekit/DeviceKit/issues/355

*  Add support for new iPhones

Co-Authored-By: Johannes Ebeling <14994778+technocidal@users.noreply.github.com>

*  Added generated gyb file

Co-Authored-By: Johannes Ebeling <14994778+technocidal@users.noreply.github.com>

* 🐛 Fixed missing identifier for 15 Plus

Co-Authored-By: Johannes Ebeling <14994778+technocidal@users.noreply.github.com>

*  Add Watch Series 9

* Change back to using telephoto to describe the iPhone 15 Pro Max 5x camera.

See why: https://github.com/devicekit/DeviceKit/issues/359#issuecomment-1722454836

* Fix tests.

* Update CHANGELOG.md

* Version bump. (v5.1.0)

* Add missing technical specifications and image urls for devices that have them available.

* new release date

---------

Co-authored-by: Henry Thoma <thoma@sipgate.de>
Co-authored-by: Johannes Ebeling <14994778+technocidal@users.noreply.github.com>
Co-authored-by: Denise Nepraunig <denise.nepraunig@gmail.com>
2023-09-21 15:23:08 +02:00
Jack Youstra 4690d820cc Add canvas detection (#303)
* Add canvas detection

* Move isCanvas to include it on tvOS and watchOS.

* Remove additional whitespace.

* Add optional return value to isCanvas and return nil if the current instance isn't the current device.

* Fix broken test on non iOS/iPadOS platforms.

Co-authored-by: Zandor Smith <info@zsinfo.nl>
2022-11-01 22:47:15 +01:00
Guglielmo Faglioni 53301ccbd4 Added cpu info (#330)
* added cpu info

* added cpu description - e.g "A16 Bionic"

* reindent

* Add missing tvOS preprocessor flag.

* Fix indentation.

* Add tests for CPU.

Co-authored-by: Zandor Smith <info@zsinfo.nl>
2022-11-01 13:16:23 +01:00
Pär Strindevall ff446d36ae Add isSimulator for all targets (#245)
* Add isSimulator for all targets

* Remove trailing whitespaces

* Remove trailing space.

Co-authored-by: Zandor Smith <info@zsinfo.nl>
2022-11-01 13:15:25 +01:00
Zandor Smith a94c81d120 Add support for Apple TV 4K (3rd generation) (#335) 2022-10-31 18:52:31 +01:00
chedabob 85c63e2321 Add thermal state (#332)
* feat: Add ThermalState

https://github.com/devicekit/DeviceKit/issues/322

Also fixes the broken example playground

* Add changelog entry.

* Version bump. (v4.9.0)

Co-authored-by: Zandor Smith <info@zsinfo.nl>
2022-10-31 18:08:52 +01:00
Guglielmo Faglioni f5f4b03408 Fix Apple Watch Series 7 device identifier being incorrect. (#329)
* added watch 6,8

* Update changelog and version bump.

Co-authored-by: Zandor Smith <info@zsinfo.nl>
2022-10-29 03:26:21 +02:00
Zandor Smith 12cff4b02b Implement support for new October 2022 iPads. (#334)
* Implement support for new October 2022 iPads.

* Add support urls to iPhone 14 series and September 2022 Apple Watch devices.

* Add changelog entry.

* Version bump. (v4.8.0)

* Change releasedate in changelog.
2022-10-28 15:13:53 +02:00
Zandor Smith d48a843da6 Add support for new September 2022 devices (#324)
* Add missing Apple Watch Series 7.

* Initial implementation for iPhone 14.

* Initial implementation for Apple Watch Series 8, Apple Watch SE 2 and Apple Watch Ultra and fix iPhone 14 Plus.

* Add missing device identifiers and fix Apple Watch Series 7 and 8 housing size.

* Add changelog entry for 4.7.0.

* Fix tests.
2022-09-13 19:30:42 +02:00
Eugene Klishevich 8b7b096388 Fix the Device.systemName property (#283)
* Fix the `Device.systemName` property

iPadOS system name for iPads was taken into account

* Add test for systemName.

* Fix compile error on Apple TV.

Co-authored-by: Zandor Smith <info@zsinfo.nl>
2022-09-13 19:29:01 +02:00
Zandor Smith af953dafc2 Add support for new March 2022 devices. (#308)
* Add iPhone SE (3rd generation) and iPad Air (5th generation) support.

* Fix tests.

* Add device identifier for iPhone SE (3rd generation)

* Version bump (4.6.0) and update changelog.

* Fix testIsPhoneIsPadIsPod test.

* Add device identifiers for iPad Air (5th generation)

* Use Python 3 for gyb.

* Adjust release date.

* Add support URL and images for iPhone SE (3rd generation).

* fix release date due to sick leave

* correct version in readme

Co-authored-by: Denise Nepraunig <denise.nepraunig@gmail.com>
2022-03-18 22:19:22 +01:00
Zandor Smith da57c444cb Fix invalid iPad Mini (6th generation) aspect ratio (again) (#300)
* Reverse aspect ratio of iPad Mini (6th generation)

* Add missing support url and images.

* Version bump and changelog entry.

* release date and readme

Co-authored-by: Denise Nepraunig <denise.nepraunig@gmail.com>
2021-10-24 22:14:33 +02:00
Zandor Smith 67335d5070 Fix iPad Mini (6th generation) aspect ratio and screen size. (#294)
* Fix iPad Mini (6th generation) aspect ratio and screen size.

* Add changelog.

* release prep

Co-authored-by: Denise Nepraunig <denise.nepraunig@gmail.com>
2021-10-15 19:10:35 +02:00
Zandor Smith 6b58d9a61e Add support for new September 14th 2021 devices. (#286)
* Add support for new September 14th 2021 devices.

* Remove support for Apple Watch Series 7.

Because it will be available on the fall, we won't know device identifiers, so it doesn't make sense to add support yet.

* Added device identifiers for the iPads and iPhones.

* Added Changelog.

* Version bump. (v4.5.0)

* well, I don't really know how to fix this now...

Co-authored-by: Denise Nepraunig <denise.nepraunig@gmail.com>
2021-09-16 21:09:54 +02:00
Zandor Smith 45fe8518f7 Add support for April 2021 devices (#279)
* Add initial support for iPad Pro (11 inch) (3rd generation) and iPad Pro (12.9 inch) (5th generation).

* Add initial support of Apple TV 4K (2nd generation).

* Add trailing comma to prevent having to change the previous line when new devices get added.

* Update changelog.

* Add device identifiers for both iPad Pros and Apple TV 4K (2nd generation).

* Version bump in Xcode project. (4.4.0)

* Update changelog.

* Update Tests.swift

fix tests for April devices

* podspec 4.4.0

Co-authored-by: Denise Nepraunig <denise.nepraunig@gmail.com>
2021-04-29 22:25:57 +02:00
Zandor Smith 96387ccbef Add missing technical specification and image urls. (#272)
* Add support urls and images for iPhone 12, 12 Pro and iPad Air (4th gen)

* Fix iPhone 12 Pro Max and iPhone 12 mini tech specs and support image urls.

* Version bump to 4.3.0 and added changelog entry.
2021-02-12 22:50:55 +01:00
Felix Lisczyk fd3ccfca24 Added support for arm64 simulator (#273) 2021-02-12 22:49:48 +01:00
Zandor Smith dbddb0296e Fix bugs in v4.2.0 release (#268)
* Fix the aspect ratio of iPad Air (4th generation).

* Specify that iPhone 12 Pro (Max) also are sporting a LiDAR sensor.

* Update changelog and bump version to v4.2.1.

* Add links to pull request and issues.

* Fix LiDAR test.
2020-10-22 20:00:43 +02:00
Zandor Smith 8dfc0937d0 Add support for October 2020 devices (#262)
* Add support for all iPhone 12 models and iPad Air (4th generation)

Device identifiers missing for iPhones.
Support link and image missing for iPhones and iPad.

* Bump version to 4.2.0.

* Update changelog.

* Add device identifiers for all iPhone 12.

* Fix Unit tests.

* Update v4.2.0 release date in CHANGELOG.md.
2020-10-21 17:34:17 +02:00
Zandor Smith fa7196ee14 Add iPad (8th generation) and Apple Watch SE and Series 6. (#256)
* Add iPad (8th generation) and Apple Watch SE and Series 6

Still missing device identifiers, support URLs and support images.

* Add changelog for 4.1.0 release.

* Add support and image urls and device identifiers for Apple Watch SE/6 and iPad 8

* Update changelog date.

* Fix Apple Watch Series 6 and SE not featuring Force Touch.
2020-09-21 14:00:17 +02:00
Zandor Smith 16b89ba066 Fix description being used for Simulator safeDescription. (#257)
Fixes #255
2020-09-16 12:55:25 +02:00
Sylvain Fay-Châtelard 0df4d3948e Remove unneeded check on iOS9 availability (#254)
Now that DeviceKit dropped support of iOS8, this check is always true.
2020-09-15 21:25:19 +02:00
Zandor Smith 37561a8c84 Add support for the new iPhone SE (2nd generation). (#238)
* Add support for the new iPhone SE (2nd generation).

* Add device identifier for iPhone SE (2nd generation)

Source: theiphonewiki.com

* Add support link and Apple Care image of iPhone SE.

Also compile to propogate the device identifier to the gyb file.

* Update changelog.
2020-04-29 16:59:30 +02:00
Zandor Smith 952c2cd234 Add support for the 2020 iPad Pro (#235)
* Add support for the 2020 iPad Pro.

* Add variables for checking if device has a LiDAR sensor.

* Add test for LiDAR values.

* Added correct device identifiers and documentation for new iPad Pro 2020.

* Fix testIsPro test.

* Updated changelog for 3.1.0.

* Added LiDAR function to changelog.
2020-03-29 20:51:53 +02:00
Zandor Smith 7dec8f896d Apply a bunch of refactoring changes for 3.0.0 (#212)
* Apply a bunch of refactoring  changes.

* Improve MARKs.

* Add safeDescription variable. (Implements #216)

For getting a safe version of the description variable. (Eg; iPhone XR).

* Fix typo in comment (Fixes #221)

* Update changelog.

* Fixed formatting.

* Fixed links.

* Add safeDescription test for iOS.

* Fixed duplicate test.
2020-01-19 09:13:02 +01:00
Zandor Smith 529dfe802c Fix bug: Incorrect values being returned on simulator. (#227) 2019-12-28 16:25:32 +01:00
Zandor Smith 00eb8fdc26 FIx bug that iPhone SE is reported having 3D touch which is not the case. (#226) 2019-12-28 16:22:44 +01:00