diff options
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-sim/src/ios')
| -rw-r--r-- | StoneIsland/plugins/cordova-plugin-sim/src/ios/Sim.h | 9 | ||||
| -rw-r--r-- | StoneIsland/plugins/cordova-plugin-sim/src/ios/Sim.m | 55 |
2 files changed, 64 insertions, 0 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-sim/src/ios/Sim.h b/StoneIsland/plugins/cordova-plugin-sim/src/ios/Sim.h new file mode 100644 index 00000000..d14ff264 --- /dev/null +++ b/StoneIsland/plugins/cordova-plugin-sim/src/ios/Sim.h @@ -0,0 +1,9 @@ +#import <Cordova/CDV.h> +#import <CoreTelephony/CTCarrier.h> +#import <CoreTelephony/CTTelephonyNetworkInfo.h> + +@interface Sim : CDVPlugin + +- (void)getSimInfo:(CDVInvokedUrlCommand*)command; + +@end diff --git a/StoneIsland/plugins/cordova-plugin-sim/src/ios/Sim.m b/StoneIsland/plugins/cordova-plugin-sim/src/ios/Sim.m new file mode 100644 index 00000000..49d70eac --- /dev/null +++ b/StoneIsland/plugins/cordova-plugin-sim/src/ios/Sim.m @@ -0,0 +1,55 @@ +// MCC and MNC codes on Wikipedia +// http://en.wikipedia.org/wiki/Mobile_country_code + +// Mobile Network Codes (MNC) for the international identification plan for public networks and subscriptions +// http://www.itu.int/pub/T-SP-E.212B-2014 + +// class CTCarrier +// https://developer.apple.com/reference/coretelephony/ctcarrier?language=objc + +#import "Sim.h" +#import <Cordova/CDV.h> +#import <Foundation/Foundation.h> +#import <CoreTelephony/CTCarrier.h> +#import <CoreTelephony/CTTelephonyNetworkInfo.h> + +@implementation Sim + +- (void)getSimInfo:(CDVInvokedUrlCommand*)command +{ + CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init]; + CTCarrier *carrier = [netinfo subscriberCellularProvider]; + + BOOL allowsVOIPResult = [carrier allowsVOIP]; + NSString *carrierNameResult = [carrier carrierName]; + NSString *carrierCountryResult = [carrier isoCountryCode]; + NSString *carrierCodeResult = [carrier mobileCountryCode]; + NSString *carrierNetworkResult = [carrier mobileNetworkCode]; + + if (!carrierNameResult) { + carrierNameResult = @""; + } + if (!carrierCountryResult) { + carrierCountryResult = @""; + } + if (!carrierCodeResult) { + carrierCodeResult = @""; + } + if (!carrierNetworkResult) { + carrierNetworkResult = @""; + } + + NSDictionary *simData = [NSDictionary dictionaryWithObjectsAndKeys: + @(allowsVOIPResult), @"allowsVOIP", + carrierNameResult, @"carrierName", + carrierCountryResult, @"countryCode", + carrierCodeResult, @"mcc", + carrierNetworkResult, @"mnc", + nil]; + + CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:simData]; + + [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId]; +} + +@end |
