ios获取sim卡信息以及手机号码

标签: iOS SIM
2503人阅读 评论(0) 收藏 举报
分类:
1.加入一个Framework(CoreTelephony.framework).
 
  2.引入头文件
 
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
 
#import <CoreTelephony/CTCarrier.h>
 
  3.初始化
# import <UIKit/UIKit.h>
 
# import <CoreTelephony/CTTelephonyNetworkInfo.h>
 
# import <CoreTelephony/CTCarrier.h>
 
@interface RootViewController : UITableViewController
 
{
 
     //声明变量
 
     CTTelephonyNetworkInfo *networkInfo;
 
}
 
@end
 
@implementation RootViewController
 
- ( void )viewDidLoad
 
{
 
     [ super viewDidLoad];
 
     self.navigationItem.prompt = @ "CTTelephonyNetworkInfo" ;
 
     self.navigationItem.title = @ "CTCarrier" ;
 
     //初始化
 
     networkInfo = [[CTTelephonyNetworkInfo alloc] init];
 
     //当sim卡更换时弹出此窗口
 
     networkInfo.subscriberCellularProviderDidUpdateNotifier = ^(CTCarrier *carrier){
 
         UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@ "Sim card changed" delegate:nil cancelButtonTitle:@ "Dismiss" otherButtonTitles:nil];
 
         [alert show];
 
     };
}
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 
{
 
     //获取sim卡信息
 
     CTCarrier *carrier = networkInfo.subscriberCellularProvider;
 
     static NSString *CellIdentifier = @ "Cell" ;
 
     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
 
     if (cell == nil) {
 
         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
 
     }
 
     switch (indexPath.row) {
 
         case 0 : //供应商名称(中国联通 中国移动)
 
             cell.textLabel.text = @ "carrierName" ;
 
             cell.detailTextLabel.text = carrier.carrierName;
 
             break ;
 
         case 1 : //所在国家编号
 
             cell.textLabel.text = @ "mobileCountryCode" ;
 
             cell.detailTextLabel.text = carrier.mobileCountryCode;
 
             break ;
 
         case 2 : //供应商网络编号
 
             cell.textLabel.text = @ "mobileNetworkCode" ;
 
             cell.detailTextLabel.text = carrier.mobileNetworkCode;
 
             break ;
 
         case 3 :
 
             cell.textLabel.text = @ "isoCountryCode" ;
 
             cell.detailTextLabel.text = carrier.isoCountryCode;
 
             break ;
 
         case 4 : //是否允许voip
 
             cell.textLabel.text = @ "allowsVOIP" ;
 
             cell.detailTextLabel.text = carrier.allowsVOIP?@ "YES" :@ "NO" ;
 
             break ;
 
         default :
 
             break ;
 
     } 
     return cell;
 
}
获取手机号码
1.NSString *number = [[NSUserDefaults standardUserDefaults] stringForKey:@"SBFormattedPhoneNumber"];
只能获取的是机主设置的本机号码,不能读取sim卡上的电话号码
2. CTSettingCopyMyPhoneNumber(); 毕竟私有API

查看评论

[绍棠] ios开发 获取本机的手机号码

步骤如下: 1)导入CoreTelephony这个private framework  (私有,appstore审核是不通过的) 2)在xxx.m中加入红字部分: #import "xxx....
  • happyshaotang2
  • happyshaotang2
  • 2016-08-22 17:39:36
  • 5188

iOS开发调用系统通讯录获取电话号码

iOS开发中常会遇到获取手机号码的需求,而获取号码一般有两种,一种是全部一次性取出,自己写控件对其进行展示,另一种是直接掉用系统通讯录,从中选取号码。本文所讲的就是后者。因为系统的原因,用ios7,i...
  • w_shuiping
  • w_shuiping
  • 2016-02-26 18:06:39
  • 2694

iOS 获取通讯录的4种方式详解

使用场景一些App通过手机号码来推荐好友,如 微博、支付宝首先客户端会获取通讯录中的所有手机号然后将这些手机号提交到App服务器中,服务器会查找每个手机号对应的App账号如QQ号码返回到客户端,然后客...
  • vbirdbest
  • vbirdbest
  • 2016-10-22 21:38:57
  • 9270

iOS开发获取手机通讯录中的电话号码和姓名

iOS开发获取手机通讯录中的电话号码和姓名
  • qq_23292307
  • qq_23292307
  • 2017-03-24 16:31:03
  • 2267

iOS开发获取通讯录用户名和手机号

iOS开发获取通讯录用户名和手机号获取权限ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL); ...
  • u011496891
  • u011496891
  • 2016-05-18 10:56:48
  • 2057

iOS获取本机号码

参考: 1、IOS开发之----获取本机号码等
  • u013282507
  • u013282507
  • 2016-04-20 18:37:15
  • 3531

ios开发-获取手机相关信息

今天在做客户端的时候,里面有个意见反馈功能。 调用系统带的邮件功能,发送邮件到指定邮箱。 然后我就想,应该在邮件正文部分添加手机相关内容,比如型号,版本,应用程序的版本等等,这样不仅使用者...
  • uxyheaven
  • uxyheaven
  • 2014-07-27 09:39:20
  • 12888

分享了iOS获取通讯录的4种方式

本文实例为大家分享了iOS获取通讯录的4种方式,供大家参考,具体内容如下 使用场景 一些App通过手机号码来推荐好友,如 微博、支付宝 首先客户端会获取通讯录中的所有手机号然后将这些...
  • Vanpoe
  • Vanpoe
  • 2017-12-01 09:41:53
  • 628

ios获取本机手机号

[[NSUserDefaults standardUserDefaults] valueForKey:@"SBFormattedPhoneNumber"];
  • daiyelang
  • daiyelang
  • 2014-03-10 14:24:20
  • 14938

ios获取手机型号、系统版本、设备唯一标识符、手机运营商等

直接代码: //设备唯一标识符 NSString *identifierStr = [[[UIDevice currentDevice] identifierForVendor] UUIDS...
  • TianYou_Code
  • TianYou_Code
  • 2016-05-18 14:41:47
  • 16552
    个人资料
    持之以恒
    等级:
    访问量: 6万+
    积分: 602
    排名: 8万+