We have released HavenDevice, an open source Swift package that collects device and app information in one place.

Call HavenDevice.current() and you get a struct with more than 40 fields. Hardware specs, OS version, app metadata, battery level, screen size, locale, and system resources. One call, one struct.

The struct conforms to Codable, so you can encode it to JSON and send it along with diagnostics or crash reports.

It has no outside dependencies. Just Foundation and system frameworks.

Where a platform supports it, the package reads extra data such as dark mode status, vendor identifiers, and jailbreak detection.

The code is on GitHub under the BSD 3-Clause licence.