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

蓟捷
2023-12-01

获取IPhone 的IMSI序列号

#include

#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;

}

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

 类似资料: