清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
/* iphone获取sim卡信息 1.加入一个Framework(CoreTelephony.framework). 2.引入头文件 #import <CoreTelephony/CTTelephonyNetworkInfo.h> #import <CoreTelephony/CTCarrier.h> 3.初始化 */ //----------------------------------- 具体demo //----------------------------------- #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; }