device_region

Creator: coderz1093

Last updated:

Add to Cart

Description:

device region

device_region #
A Flutter plugin which uses platform-specific API to return a SIM country code. Supports
iOS and Android.
Installation #
In your Flutter project, in pubspec.yaml file add the dependency:
dependencies:
device_region: ^1.3.0
copied to clipboard
Usage example #
Import device_region.dart package.
import 'package:device_region/device_region.dart';
copied to clipboard
Get SIM country code #
Call getSIMCountryCode method to receive SIM country code.
await DeviceRegion.getSIMCountryCode();
copied to clipboard
Android:
Using TelephonyManager class:
Returns simCountryIso if available. Otherwise, it should return networkCountryIso.
In case the value cannot be retrieved or an error occurs, null value will be returned
iOS:
iOS 16.0 and higher
Due to deprecated properties in CTTelephonyNetworkInfo class, plugin uses Locale class and returns Locale.current.region.identifier.
iOS up to 16.0
Using CTTelephonyNetworkInfo class:
Returns isoCountryCode if available.
In case the value cannot be retrieved or an error occurs, null value will be returned
Important notes #

While call getSIMCountryCode on iOS (up to 16.0), it returns proper country code and can throw error log in debugger as below:

[Client] Updating selectors after delegate addition failed with: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service with pid 91 named com.apple.commcenter.coretelephony.xpc was invalidated from this process." UserInfo={NSDebugDescription=The connection to service with pid 91 named com.apple.commcenter.coretelephony.xpc was invalidated from this process.}
copied to clipboard
It's well known bug on iOS and it does not affect the operation of the application.


Method returns null in case if for some reason it was not possible to retrieve the information from the SIM slot. So it will return null i.e on iOS simulators and devices without SIM card inserted.


On iOS, it only works from 12.0 and above. For lower versions it will return null.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.