我尝试通过 iPhone 和 ipad 模拟器与 XCode7.3.1 使用以下代码获取运营商名称。
CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [networkInfo subscriberCellularProvider];
// Get carrier name
carrierName = [carrier carrierName];
任何人都可以帮助我通过模拟器找到运营商名称,而无需更改XCode系统文件
当我们在模拟器中获取载体值时,它只返回 null(因为对于运营商值我们需要 simcard(,所以我们必须手动在 info.plist 中设置载体值,希望这个答案对您有所帮助
在 Apple Docs 中
如果用户将设备的 SIM 卡与其他提供商的 SIM 卡交换, 在应用程序运行时。此类还允许您访问 CTCarrier 对象,其中包含有关用户主页的信息 蜂窝服务提供商。
由于模拟器没有蜂窝服务提供商carrier
因此将为零。
您需要插入SIM卡的设备才能获得任何值。
不,在模拟器中无法获取运营商名称。您需要带SIM卡的设备。
您必须使用设备才能获取此信息。根据文档:
如果为运营商配置设备,然后删除 SIM 卡, 此属性保留运营商的名称。此值 如果设备从未配置为运营商,则属性为 nil。
因此,模拟器中的nil
是预期的返回值。