imsi序列号_IPhone 获取IMSI序列号
获取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
获取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
}
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;
}
imsi序列号_IPhone 获取IMSI序列号相关推荐
- python获取主板序列号_LabVIEW获取主板序列号和硬盘序列号以进行软件加密
04-12阅读85 CPU序列号是唯一的编号,只能在处理器内部进行修改. 它由96位数字组成. 高32位是用于标识CPU类型的CPU ID. 每个处理器的低64位不同,并且唯一表示该处理器. 该CPU ...
- c语言过去硬盘序列号,[C]获取硬盘序列号
#include "stdafx.h" #include #ifdef _DEBUG #define new DEBUG_NEW #endif // 唯一的应用程序对象 CWinA ...
- Qt for Android获取手机序列号
在 Qt 项目中通过 jni 接口调用 Android 原生接口来获取相应的值. java文件 package com.qt.useJava;import android.os.Build; impo ...
- 读取手机序列号IMEI,SIM序列号IMSI方法
读取手机序列号IMEI,SIM序列号IMSI方法 IMEI是国际移动设备身份码的缩写,每台手机都有一个唯一的IMEI号码(貌似有国产山寨机用同一个IMEI).IMSI是国际移动用户识别码缩写,每张SI ...
- 序列号,IMEI,IMSI,ICCID的含义
序列号,IMEI,IMSI,ICCID的含义 什么是序列号? 序列号是一串标识你手机出生证明以及身材特征的信息,甚至还可用来识别是否为官方翻新机. 你可以简单的将这一串数字分割为:aabccdddee ...
- C# 中获取CPU序列号/网卡mac地址
-- 1.cpu序列号2.mac序列号3.硬盘id 在给软件加序列号时这三个应该是最有用的,可以实现序列号和机器绑定,对保护软件很有好处.哈哈. using System; using System. ...
- 用C#获取硬盘序列号,CPU序列号,网卡MAC地址
这个问题首先得考虑的就是你的硬盘是不是SCSI硬盘 如果是,那么根本不存在"物理序列号",只可能取得卷标的序列号 如果是卷标序列号,要注意的是每次格式化硬盘的时候这个序列号都会变 ...
- Qt for Android获取手机序列号/手机型号/手机制造商
前言 Qt for Android 获取手机型号/手机制造商/手机序列号,这些是要通过 Android 原生接口才能获取到的, 那么在 Qt 项目中通过 jni 接口调用 Android 原生接口来获 ...
- VC6获取硬盘序列号、型号、修订版本号
因为要做个读取硬盘参数信息的控件,所以在网上找了不少代码,但是自己作为一个初学者在使用别人代码时,总会发现有各种各样的问题: 1. 需要的头文件未写明 2. 有些定义未给出 3. 代码的开发环境未明, ...
最新文章
- AlphaFold和RoseTTAFold双剑合璧,成功预测蛋白质复合体结构,北大校友领衔登上Science...
- Invoke()/BeginInvoke()区别
- zookeeper 在 windows 下配置伪集群环境
- 如何求解两个数的最大公约数
- 判断闰年(信息学奥赛一本通-T1055)
- mysql查询一个数据库所有表的记录数,mysql 查看数据库中所有表的记录数
- CSS+DIV+HTML(一)--HTML总结
- php和gps终端设备通讯,运输车辆GPS定位+语音对讲通讯方案
- 什么叫做形态学图像处理_Python图像处理膨胀与腐蚀
- 博图v14编程c语言教程_10个步骤完成PLC从编程到下载,超详细的TIA博途V13软件使用教程...
- 详细介绍MATLAB导入文本文件、excel等数据文件
- 弹孔,血迹 等受击表现
- java垃圾回收的优点和原理_Java垃圾回收器的方法和原理总结
- 【JS】H5打开支付宝
- php 截取取最后一个字符
- 程序员如何明确职业与人生的目标
- 【解答】多台西门子PLC之间可不可以无线通讯
- 8分钟让你熟悉自适应AUTOSAR的AUTOSAR C++14编码准则
- java工厂模式式代码_简单工厂模式及其简单Java案例代码实现
- 微信彩色字体图标的使用
热门文章
- 如何优雅地在云上“摆摊” 直播带货,这些技术很重要
- 安全多方计算新突破!阿里首次实现“公开可验证” 的安全方案
- 再谈全局网HBase八大应用场景
- 阿里云NAS备份服务
- 金蝶 2020 云业务收入达 57%,为何 CEO 说“未来三年用订阅模式再造新金蝶”?
- 赠书 | 华为数据底座的整体架构与建设策略
- Kubernetes 是如何调度的?
- 2020 年,云游戏将爆发?各大科技公司云游戏布局大曝光!
- golang 排序_堆 堆排序 优先队列 图文详解(Golang实现)
- Attribute “singleton” must be declared for element type “bean”.