Objective C 通过模拟器获取 MobileOperator 名称

Objective C fetch MobileOperator name via Simulator

我尝试通过 iphone 和 ipad 模拟器使用下面的代码和 XCode7.3.1.But 这个 return (空)

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

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

谁能帮我在不更改 XCode 系统文件的情况下通过模拟器找到运营商名称

不,在模拟器中无法获取运营商名称。您需要带有 SIM 卡的设备。

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

If you configure a device for a carrier and then remove the SIM card, this property retains the name of the carrier. The value for this property is nil if the device was never configured for a carrier.

所以模拟器中的 nil 是预期的 return 值。

在苹果中 Docs

if a user swaps the device’s SIM card with one from another provider, while your application is running. This class also gives you access to the CTCarrier object, which contains information about the user’s home cellular service provider.

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

需要 设备插入 sim 卡 才能获取任何值。

当我们在模拟器中获取运营商值时,它 returns 只有 null(因为对于运营商值,我们需要 simcard),所以我们必须在 info.plist 中手动设置运营商值,我希望这个回答对您有所帮助