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;

    }

  • 相关阅读:
    C#异步调用的好处和方法
    asp.net运行原理
    基于jQuery的AJAX和JSON的实例
    Slq Server创建索引
    SQL查询一个表中类别字段中Max()最大值对应的记录
    优化SQL Server的内存占用之执行缓存
    ASP.NET缓存
    .NET Framework 4.5新特性
    ADO.NET 连接数据库字符串(Oracle、SqlServer、Access、ODBC)
    sql server基础
  • 原文地址:https://www.cnblogs.com/wudan7/p/3696009.html
Copyright © 2011-2022 走看看