获取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序列号相关推荐

  1. python获取主板序列号_LabVIEW获取主板序列号和硬盘序列号以进行软件加密

    04-12阅读85 CPU序列号是唯一的编号,只能在处理器内部进行修改. 它由96位数字组成. 高32位是用于标识CPU类型的CPU ID. 每个处理器的低64位不同,并且唯一表示该处理器. 该CPU ...

  2. c语言过去硬盘序列号,[C]获取硬盘序列号

    #include "stdafx.h" #include #ifdef _DEBUG #define new DEBUG_NEW #endif // 唯一的应用程序对象 CWinA ...

  3. Qt for Android获取手机序列号

    在 Qt 项目中通过 jni 接口调用 Android 原生接口来获取相应的值. java文件 package com.qt.useJava;import android.os.Build; impo ...

  4. 读取手机序列号IMEI,SIM序列号IMSI方法

    读取手机序列号IMEI,SIM序列号IMSI方法 IMEI是国际移动设备身份码的缩写,每台手机都有一个唯一的IMEI号码(貌似有国产山寨机用同一个IMEI).IMSI是国际移动用户识别码缩写,每张SI ...

  5. 序列号,IMEI,IMSI,ICCID的含义

    序列号,IMEI,IMSI,ICCID的含义 什么是序列号? 序列号是一串标识你手机出生证明以及身材特征的信息,甚至还可用来识别是否为官方翻新机. 你可以简单的将这一串数字分割为:aabccdddee ...

  6. C# 中获取CPU序列号/网卡mac地址

    -- 1.cpu序列号2.mac序列号3.硬盘id 在给软件加序列号时这三个应该是最有用的,可以实现序列号和机器绑定,对保护软件很有好处.哈哈. using System; using System. ...

  7. 用C#获取硬盘序列号,CPU序列号,网卡MAC地址

    这个问题首先得考虑的就是你的硬盘是不是SCSI硬盘 如果是,那么根本不存在"物理序列号",只可能取得卷标的序列号 如果是卷标序列号,要注意的是每次格式化硬盘的时候这个序列号都会变 ...

  8. Qt for Android获取手机序列号/手机型号/手机制造商

    前言 Qt for Android 获取手机型号/手机制造商/手机序列号,这些是要通过 Android 原生接口才能获取到的, 那么在 Qt 项目中通过 jni 接口调用 Android 原生接口来获 ...

  9. VC6获取硬盘序列号、型号、修订版本号

    因为要做个读取硬盘参数信息的控件,所以在网上找了不少代码,但是自己作为一个初学者在使用别人代码时,总会发现有各种各样的问题: 1. 需要的头文件未写明 2. 有些定义未给出 3. 代码的开发环境未明, ...

最新文章

  1. AlphaFold和RoseTTAFold双剑合璧,成功预测蛋白质复合体结构,北大校友领衔登上Science...
  2. Invoke()/BeginInvoke()区别
  3. zookeeper 在 windows 下配置伪集群环境
  4. 如何求解两个数的最大公约数
  5. 判断闰年(信息学奥赛一本通-T1055)
  6. mysql查询一个数据库所有表的记录数,mysql 查看数据库中所有表的记录数
  7. CSS+DIV+HTML(一)--HTML总结
  8. php和gps终端设备通讯,运输车辆GPS定位+语音对讲通讯方案
  9. 什么叫做形态学图像处理_Python图像处理膨胀与腐蚀
  10. 博图v14编程c语言教程_10个步骤完成PLC从编程到下载,超详细的TIA博途V13软件使用教程...
  11. 详细介绍MATLAB导入文本文件、excel等数据文件
  12. 弹孔,血迹 等受击表现
  13. java垃圾回收的优点和原理_Java垃圾回收器的方法和原理总结
  14. 【JS】H5打开支付宝
  15. php 截取取最后一个字符
  16. 程序员如何明确职业与人生的目标
  17. 【解答】多台西门子PLC之间可不可以无线通讯
  18. 8分钟让你熟悉自适应AUTOSAR的AUTOSAR C++14编码准则
  19. java工厂模式式代码_简单工厂模式及其简单Java案例代码实现
  20. 微信彩色字体图标的使用

热门文章

  1. 如何优雅地在云上“摆摊” 直播带货,这些技术很重要
  2. 安全多方计算新突破!阿里首次实现“公开可验证” 的安全方案
  3. 再谈全局网HBase八大应用场景
  4. 阿里云NAS备份服务
  5. 金蝶 2020 云业务收入达 57%,为何 CEO 说“未来三年用订阅模式再造新金蝶”?
  6. 赠书 | 华为数据底座的整体架构与建设策略
  7. Kubernetes 是如何调度的?
  8. 2020 年,云游戏将爆发?各大科技公司云游戏布局大曝光!
  9. golang 排序_堆 堆排序 优先队列 图文详解(Golang实现)
  10. Attribute “singleton” must be declared for element type “bean”.