zoukankan      html  css  js  c++  java
  • iphone获取sim卡信息

     

    /*

     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;

    }

  • 相关阅读:
    css页面自适应 媒体查询
    微信小程序rich-text中的nodes属性
    解析base64数据流---加载pdf
    用伪元素完成箭头
    搭建vue --2.x
    搭建Vue项目 vue-cli vue1.x
    Chrome----TCP
    单进程VS多进程
    线程VS进程
    Chrome---network模块---Timing
  • 原文地址:https://www.cnblogs.com/wudan7/p/3696009.html
Copyright © 2011-2022 走看看