Objective C通过Simulator获取MobileOperator名称

时间:2017-07-19 08:30:30

标签: ios objective-c xcode ios7 ios-simulator

我尝试使用以下代码通过iphone和ipad模拟器与XCode7.3.1获取运营商名称。但是这个返回(null)

CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];
    CTCarrier *carrier  = [networkInfo subscriberCellularProvider];

    // Get carrier name
    carrierName     = [carrier carrierName];

任何人都可以帮助我通过模拟器找到运营商名称,而无需更改XCode系统文件

4 个答案:

答案 0 :(得分:1)

在Apple Docs

  

如果用户将设备的SIM卡与其他提供商的SIM卡交换,   在您的应用程序运行时。该课程还为您提供访问权限   CTCarrier对象,包含有关用户主页的信息   蜂窝服务提供商。

由于模拟器没有蜂窝服务提供商carrier将为零。

需要设备插入 SIM卡以获取任何值。

答案 1 :(得分:1)

当我们在模拟器中获取载波值时它只返回null(因为对于载波值我们需要simcard),所以我们必须手动设置info.plist中的载波值,我希望这个答案能帮到你

答案 2 :(得分:0)

不,在模拟器中无法获取carrierName。你需要带有SIM卡的设备。

答案 3 :(得分:0)

您必须使用设备才能获取此信息。根据文件:

  

如果您为运营商配置设备,然后移除SIM卡,   此酒店保留承运人的名称。这个的价值   如果从未为运营商配置设备,则属性为nil。

因此模拟器中的nil是预期的返回值。