Skip to content

Releases

SwiftDeviceKit 2026.2.0

Choose a tag to compare

@Anywhere-Music-Player Anywhere-Music-Player released this 07 Nov 20:23

SwiftDeviceKit now covers 173 models across six Apple device families. Both products support iOS and iPadOS 18, watchOS 11, tvOS 18, macOS 15 and visionOS 2 or later. The package has no external dependencies.

  • Identify Mac and Vision Pro hosts in compatible iPhone and iPad apps. Read the internal Mac battery through IOKit on macOS and Mac Catalyst, including when charging is paused.
  • Read 64-bit storage capacities on Apple Watch, detect the Action button and variable-aperture cameras, and start or stop physical orientation updates on iPhone and iPad.
  • When upgrading, handle the added device and hardware enum cases in exhaustive switches. On iOS and Mac Catalyst, screen brightness is now optional. On watchOS, storage capacity is reported as an optional Int64. Use the phone and iPad groups when a list should include only those families.

Migration guide · Full changelog

SwiftDeviceKit 2026.1.1

Choose a tag to compare

@Anywhere-Music-Player Anywhere-Music-Player released this 07 Nov 04:18
  • An iPhone-only app running on a known iPad now gets isPad == true and isPhone == false, even when UIKit presents the phone interface. #9
  • An iOS app running directly on Apple silicon now reads the Mac hardware identifier and macOS version. Explicit iPad identifier lookups still resolve the iPad model. #10
  • The 13-inch iPad Pro (M5) documentation now opens the correct specifications. The affected iPad mini and iPad Pro links let Apple choose the reader’s locale. #11

All 68 package tests passed on each of the iPhone 18 Pro and iPad Pro 13-inch (M5) simulators on iOS/iPadOS 27.2. A separate hosted test verified the iOS-on-Mac behavior on Apple silicon.

2026.1.0

Choose a tag to compare

@Anywhere-Music-Player Anywhere-Music-Player released this 07 Nov 01:49

SwiftDeviceKit now recognizes both hardware identifiers for the iPad mini (A20 Pro). The catalog uses portrait screen ratios for nine iPad models and reports USB-C Pencil and Pencil Pro support for both M5 iPad Pro sizes.

Disk capacity queries refresh between reads. Device equality preserves unknown identifiers, battery states have a consistent order at equal charge levels, and nested simulator wrappers preserve model capabilities. Display Zoom detection now handles enlarged 3× modes. Physical Display Zoom verification is tracked in #2.

The package passed 67 tests on each of two simulators (iPhone 18 Pro and iPad mini A20 Pro, OS 27.2). The standalone DeviceKit 5.9.0 comparison passed 13,300 field and group checks with zero unexpected differences. The generic iOS Release build passed with the iOS 18 deployment target.

2026.0.0

Choose a tag to compare

@Anywhere-Music-Player Anywhere-Music-Player released this 21 Oct 17:16

The first release of SwiftDeviceKit: a modern Swift device library based on DeviceKit, built for iOS and iPadOS 18+.

Modules

  • SwiftDeviceKitCore — device identification, simulator and preview detection, hardware capabilities and screen specifications.
  • SwiftDeviceKitSystem — Core plus battery, thermal state, storage, orientation, brightness and system information.

Both modules share one package version and have no external dependencies.

Highlights

  • Swift tools 6.4 and Swift 6 language mode, with Sendable value types and MainActor isolation for UIKit-backed APIs.
  • A Swift-native catalog of 66 iPhone and iPad models with 105 hardware identifiers, organized as one file per device.
  • iPhone 18 Pro identification and an updated README example.
  • iPhone Duo identification and separate specifications for its outer and inner screens.
  • Model camera metadata for simulator wrappers and detection of unknown simulator models.
  • Focused guides for migration, screens, adding devices and testing.

Installation

Add https://github.com/Anywhere-Music-Player/SwiftDeviceKit in Xcode, select version 2026.0.0, and choose SwiftDeviceKitCore or SwiftDeviceKitSystem.

Validation

The release commit was built in Release configuration for iOS. All 57 package tests passed on an iPhone 18 Pro simulator running iOS 27.2. The optional comparison with DeviceKit passed both tests, performing 13,156 comparisons with zero unexpected differences.

These results cover the catalog and the tested simulator behavior; they do not establish execution on the iOS 18 minimum runtime or physical-device behavior.