【问题标题】:Objective C fetch MobileOperator name via SimulatorObjective C 通过模拟器获取 MobileOperator 名称
【发布时间】:2017-12-24 09:36:13
【问题描述】:

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

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

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

谁能帮我通过模拟器找到运营商名称,而无需更改 XCode 系统文件

【问题讨论】:

  • 在模拟器中你没有连接到蜂窝网络,所以null是完全可以预期的。您必须使用带有有效 SIM 卡的设备才能获取此信息。
  • 我没有任何apple id来生成设备应用程序,你能建议我在桌面模拟器中制作运营商信息吗?

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


【解决方案1】:

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

【讨论】:

  • 如何设置 info.plist ?你能说出价值吗?
【解决方案2】:

在苹果Docs

如果用户将设备的 SIM 卡与其他提供商的 SIM 卡交换, 当您的应用程序正在运行时。该课程还使您可以访问 CTCarrier 对象,其中包含有关用户家的信息 蜂窝服务提供商。

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

需要插入sim卡的设备才能获得任何价值。

【讨论】:

    【解决方案3】:

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

    如果您为运营商配置设备,然后取出 SIM 卡, 此属性保留承运人的名称。为此的价值 如果设备从未为运营商配置过,则属性为 nil。

    所以模拟器中的nil 是一个预期的返回值。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2021-12-25
        • 1970-01-01
        • 2017-10-27
        • 2014-01-03
        • 2018-12-02
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 2022-08-15
        相关资源
        最近更新 更多