首页 > 编程 > C > 正文

使用Objective-C获取IPHONE手机IMSI序列号

2020-01-26 15:08:03
字体:
来源:转载
供稿:网友

获取IPhone 的IMSI序列号

#include <dlfcn.h>#define PRIVATE_PATH "/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony"- void getImsi(){#if !TARGET_IPHONE_SIMULATOR  void *kit = dlopen(PRIVATE_PATH,RTLD_LAZY);    NSString *imsi = nil;  int (*CTSIMSupportCopyMobileSubscriberIdentity)() = dlsym(kit, "CTSIMSupportCopyMobileSubscriberIdentity");  imsi = (NSString*)CTSIMSupportCopyMobileSubscriberIdentity(nil);  dlclose(kit);    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"IMSI"                          message:imsi                           delegate:self                     cancelButtonTitle:@"OK"                     otherButtonTitles:nil];  [alert show];  [alert release];#endif}

通过IMSI获取运营商

NSString *imsi = CTSIMSupportCopyMobileSubscriberIdentity();NSString *userMobileType = [StatisticsOperation getCarrier:imsi]; getCarrier 方法如下+ (NSString *)getCarrier:(NSString *)imsi {  if (imsi == nil || [imsi isEqualToString:@"SIM Not Inserted"] ) {    return @"Unknown";  }  else {    if ([[imsi substringWithRange:NSMakeRange(0, 3)] isEqualToString:@"460"]) {      NSInteger MNC = [[imsi substringWithRange:NSMakeRange(3, 2)] intValue];      switch (MNC) {        case 00:        case 02:        case 07:          return @"China Mobile";          break;        case 01:        case 06:            return @"China Unicom";          break;        case 03:        case 05:            return @"China Telecom";          break;        case 20:          return @"China Tietong";          break;        default:          break;      }    }  }  return @"Unknown";}

获取手机号

+ (NSString*)getPhoneNumber{     NSString *num = [[NSUserDefaults standardUserDefaults] stringForKey:@"SBFormattedPhoneNumber"];     NSLog(@"Phone Number: %@", num);     return num;}

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选