如何获取iPhone当前使用的运营商详细信息(例如Airtel或Idea等)。
是否有可能获取这些详细信息,或者是否有任何方法可以识别我们当前正在使用的运营商。我正在开发一款基于运营商的应用程序,如果用户更换SIM卡(运营商),则该应用程序不应工作,它必须适用于特定的运营商。
如何获取iPhone当前使用的运营商详细信息(例如Airtel或Idea等)。
是否有可能获取这些详细信息,或者是否有任何方法可以识别我们当前正在使用的运营商。我正在开发一款基于运营商的应用程序,如果用户更换SIM卡(运营商),则该应用程序不应工作,它必须适用于特定的运营商。
CTCarrier 应该包含您所需的信息。
编辑:CTTelephonyNetworkInfo 响应用户在会话中更换 SIM 卡,并为您提供 CTCarrier
的实例。
示例代码(在您的应用程序委托中):
#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
:
在验证CTCarrier
属性时,我特别推荐验证carrierName
,因为当用户漫游时,它不会更改,因此只要SIM卡绑定到您所需的运营商,应用程序仍将正常工作。