使用Objective-C获取IPHONE手机IMSI序列号
获取IPhone的IMSI序列号
#include<dlfcn.h>
#definePRIVATE_PATH"/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony"
-voidgetImsi(){
#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=[[UIAlertViewalloc]initWithTitle:@"IMSI"
message:imsi
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertshow];
[alertrelease];
#endif
}
通过IMSI获取运营商
NSString*imsi=CTSIMSupportCopyMobileSubscriberIdentity();
NSString*userMobileType=[StatisticsOperationgetCarrier:imsi];
getCarrier方法如下
+(NSString*)getCarrier:(NSString*)imsi{
if(imsi==nil||[imsiisEqualToString:@"SIMNotInserted"]){
return@"Unknown";
}
else{
if([[imsisubstringWithRange:NSMakeRange(0,3)]isEqualToString:@"460"]){
NSIntegerMNC=[[imsisubstringWithRange:NSMakeRange(3,2)]intValue];
switch(MNC){
case00:
case02:
case07:
return@"ChinaMobile";
break;
case01:
case06:
return@"ChinaUnicom";
break;
case03:
case05:
return@"ChinaTelecom";
break;
case20:
return@"ChinaTietong";
break;
default:
break;
}
}
}
return@"Unknown";
}
获取手机号
+(NSString*)getPhoneNumber
{
NSString*num=[[NSUserDefaultsstandardUserDefaults]stringForKey:@"SBFormattedPhoneNumber"];
NSLog(@"PhoneNumber:%@",num);
returnnum;
}
以上所述就是本文的全部内容了,希望大家能够喜欢。