Search packages, repositories and app categories

Package detailsv2.3.0

ios_utsname_ext

Extension method for translation ios utsname to full product name.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
37.7K
Likes
24
Pub points
150

Install package

flutter pub add ios_utsname_ext

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The ios_utsname_ext package provides an extension method to translate iOS device's utsname (system information) into a human-readable full product name. It simplifies identifying the exact device model from low-level system data, useful for analytics, debugging, or personalized user experiences. The package works across all Flutter platforms, including iOS, Android, Web, macOS, Windows, and Linux, making it versatile for cross-platform apps. It is lightweight and designed for seamless integration with minimal setup.

Use cases

  • Device identification in analytics
  • Debugging device-specific issues
  • Personalizing user experience based on hardware
  • Cross-platform device detection
  • Displaying accurate device names in app settings

Key features

  • Extension method for utsname translation
  • Supports all Flutter platforms
  • Lightweight and easy to integrate
  • Accurate mapping of utsname to product name
  • No external dependencies

Suitable for

  • Developers building cross-platform apps
  • Apps requiring precise device identification
  • Analytics and debugging tools
  • User-facing device information displays

Considerations

  • Relies on accurate utsname data from iOS
  • Limited to iOS device names (not applicable to other platforms)
  • May require runtime access to system info
  • Not needed for non-device-specific functionality

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

ios_utsname_ext

pub package build Buy Me A Coffee

Extension method for translation ios utsname to full product name (e.g. iPhone 6 Plus for 'iPhone7,1').

Why this extension package?

When using the device_info package you get the following (extract from the readme file):

import 'package:device_info/device_info.dart';

DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
print('Running on ${androidInfo.model}');  // e.g. "Moto G (4)"

IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
print('Running on ${iosInfo.utsname.machine}');  // e.g. "iPhone7,1"

As you can see, for Android you get a rather good product name. But for iOS... you get iPhone7,1'. This extension package gives you the real product name by adding .iOSProductName`:

import 'package:ios_utsname_ext/extension.dart';

...

print('Running on ${iosInfo.utsname.machine.iOSProductName}');  // will give you `iPhone 6 Plus`

Source of product models

The list is maintained at https://github.com/fieldnotescommunities/ios-device-identifiers. The repo provides an updated .json file.

Based upon that .json file the code for this extension package is generated. When the repo is updated this package will be updated.

API Documentation

API documentation can be found here

Categories

Source repository

Projects using this package

No data available yet.