iphone - 获取 iPhone 中的运营商详细信息

标签 iphone

如何获取 iPhone 当前使用的运营商详细信息(如 Airtel 或 Idea 等)。

是否可以获取这些详细信息,或者有什么方法可以识别我们当前正在使用哪个运营商。我正在开发一个基于运营商的应用程序,如果用户更改他的 SIM(运营商),则该应用程序不应该工作,它必须为特定的运算符(operator)工作。

最佳答案

CTCarrier里面应该有您需要的信息。

编辑:CTTelephonyNetworkInfo响应用户在 session 中切换 SIM 卡,并为您提供 CTCarrier 实例。

示例代码(在您的应用程序委托(delegate)中):

#import <CoreTelephony/CoreTelephony.h>

static NSString *requiredCarrier = @"Verizon"; // example carrier

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  CTTelephonyNetworkInfo *myNetworkInfo = [[CTTelephonyNetworkInfo alloc] init];
  CTCarrier *myCarrier = [myNetworkInfo subscriberCellularProvider];

  if(![[myCarrier carrierName] isEqualToString:requiredCarrier])
  {
    // lock the app, possibly terminate the app after displaying a UIAlertView
    // informing the user of the network-lock.
  }

  // ...
  return YES;
}

请注意以下有关 CTCarrier 属性的建议(如果读取了零载体,我建议不要执行永久单向锁定):

“如果满足以下任一条件,则此属性的值为 nil:

  • 设备处于飞行模式。
  • 设备中没有 SIM 卡。
  • 设备不在蜂窝服务范围内。”

在要验证的 CTCarrier 属性中,我特别推荐 rierName,因为它在用户漫游时不会更改,因此应用程序仍将正常运行因为 SIM 卡与您所需的运营商绑定(bind)。

关于iphone - 获取 iPhone 中的运营商详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5204121/

相关文章:

iphone - 访问 UITableView 部分标题中的 UI 元素

iphone - UIButton 事件 'Touch Up Inside' 不起作用。 'Touch Down' 工作正常

iphone - 如何禁用 UINavigationBarItem?

iPhone GPS 开发 - 提示 + 技巧

iphone - 如何标准化 iPhone 应用程序的外观

iphone - 加载带有透明背景的MPMoviePlayerViewController?

iphone - 为什么公共(public) header 会制作多个产品包?

iphone - 如何获取用户当前的蜂窝提供商?

iOS/iPhone - 显示 UIActivityViewController 时隐藏状态栏

iphone - 使用exportAsynchronouslyWithCompletionHandler