获取IPhone 的IMSI序列号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#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获取运营商
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
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" ;
}
|
获取手机号
1
2
3
4
5
6
|
+ (NSString*)getPhoneNumber
{
NSString *num = [[NSUserDefaults standardUserDefaults] stringForKey:@ "SBFormattedPhoneNumber" ];
NSLog(@ "Phone Number: %@" , num);
return num;
}
|
以上所述就是本文的全部内容了,希望大家能够喜欢。