如何获取 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/