iphone获取sim卡信息

清华大佬耗费三个月吐血整理的几百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;
 
}