ios开发获取SIM卡信息

时间:2025-03-11 21:37:07
.加入一个Framework(CoreTelephony.framework).

.引入头文件

#import<CoreTelephony/CoreTelephonyDefines.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 ://供应商名称(中国联通 中国移动) cell.textLabel.text = @"carrierName"; cell.detailTextLabel.text = carrier.carrierName; break; case ://所在国家编号 cell.textLabel.text = @"mobileCountryCode"; cell.detailTextLabel.text = carrier.mobileCountryCode; break; case ://供应商网络编号 cell.textLabel.text = @"mobileNetworkCode"; cell.detailTextLabel.text = carrier.mobileNetworkCode; break; case : cell.textLabel.text = @"isoCountryCode"; cell.detailTextLabel.text = carrier.isoCountryCode; break; case ://是否允许voip cell.textLabel.text = @"allowsVOIP"; cell.detailTextLabel.text = carrier.allowsVOIP?@"YES":@"NO"; break; default: break; } return cell; }

转自http://blog.sina.com.cn/s/blog_74461f3201018b5x.html